Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 52055|Risposta: 5

[Fonte] .NET/C# Ottimizzato le prestazioni di SslMode per database MySQL

[Copiato link]
Pubblicato su 18/06/2021 09:41:15 | | | |
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)




Precedente:.NET/C# imposta il numero minimo di thread in ThreadPool.SetMinThreads per migliorare le prestazioni
Prossimo:MySQL determina se esiste una tabella o un campo quando aggiunge una nuova tabella
 Padrone di casa| Pubblicato su 11/02/2022 11:33:08 |
Opzioni stringa di connessione MySQL .NET:https://mysqlconnector.net/connection-options/
 Padrone di casa| Pubblicato su 11/02/2022 13:23:13 |
Proprietà della stringa JDBC in Java

I driver 5.1 sono useSSL e requireSSL
https://dev.mysql.com/doc/connec ... props-security.html

8.0 con sslMode
https://dev.mysql.com/doc/connec ... props-security.html

Disattiva SSL e imposta: sslmode=disabilitato
 Padrone di casa| Pubblicato su 11/02/2022 14:04:56 |
RewriteBatchedStatements di Java JDBC, allowPublicKeyRetrieval...
https://www.itsvse.com/thread-10252-1-1.html
Pubblicato su 11/04/2022 15:09:04 |
 Padrone di casa| Pubblicato su 23/08/2024 09:56:15 |
.NET/C# utilizza SqlConnectionStringBuilder per confrontare le connessioni al database
https://www.itsvse.com/thread-10625-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com