SSL (Secure Socket Layer) utilizza meccanismi di crittografia dei dati, autenticazione e verifica dell'integrità dei messaggi per garantire la sicurezza dei protocolli a livello applicativo basati su connessioni affidabili come TCP. Se la trasmissione dell'utente non avviene tramite SSL, allora i dati vengono trasmessi in chiaro sulla rete, aprendo opportunità per persone con secondi fini. Pertanto, molti grandi siti web ora hanno la funzione SSL attivata. Analogamente, nel nostro database, se il client si collega al server per ottenere dati invece di usare una connessione SSL, i dati possono essere rubati durante la trasmissione.
Le principali funzioni fornite dal protocollo SSL sono:
1. Riservatezza della trasmissione dei dati: i dati trasmessi sono criptati utilizzando un algoritmo di chiave simmetrica. 2. Meccanismo di autenticazione: In base al certificato, server e client sono autenticati utilizzando metodi di firma digitale, dove l'autenticazione del client è opzionale. 3. Verifica dell'integrità dei messaggi: Gli algoritmi MAC sono utilizzati per verificare l'integrità dei messaggi durante la trasmissione del messaggio.
Quando si utilizza .NET/C# per gestire un database MySQL,Il valore predefinito per SslMode è Preferred, se il server lo supporta, usa SSL.
Il login del link ipertestuale è visibile.
Utilizzando il metodo predefinito, nel caso di un gran numero di concorrenze, l'errore può essere il seguente:
Messaggio inglese: Errore di apertura connessione. L'autenticazione all'host '192.168.1.100' per l'utente 'itsvse' usando il metodo 'mysql_native_password' è fallita con messaggio: La lettura dal flusso è fallita.
Errore di apertura connessione. errore di connettimento: Timeout scaduto. Il timeout è scaduto prima di ottenere una connessione dal pool. Questo potrebbe essere accaduto perché tutte le connessioni in pool erano in uso e si raggiunse la dimensione massima del pool.
L'uso di SSL garantisce la sicurezza della trasmissione dei dati, ma riduce anche l'efficienza delle query e dell'esecuzione, aumentando la pressione sul database e sui programmi. Poiché il nostro database si trova in un ambiente di rete privata, è relativamente molto sicuro e non è necessario la crittografia della trasmissione, quindi possiamo migliorare efficienza e prestazioni senza la crittografia SSL.
Prima e dopo il confronto delle prestazioni SSL (QPS):Il login del link ipertestuale è visibile.
Dai dati di test, si può trovare che dopo aver abilitato SSL, il database QPS si riduce in media di circa il 23%, il che influisce relativamente sulle prestazioni. Dal punto di vista dell'implementazione SSL, è necessario stringere la mano, criptare, decriptare e fare altre operazioni quando si stabilisce una connessione. Pertanto, il tempo impiegato è fondamentalmente nella fase di connessione, il che può causare una maggiore perdita di prestazioni per applicazioni che utilizzano link brevi, come lo sviluppo PHP. Tuttavia, potrebbe essere molto meglio se usi pool di connessione o connessioni lunghe.
Per migliorare le prestazioni, modifica la stringa di connessione come segue:
(Fine)
|