Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 52055|Răspunde: 5

[Sursă] .NET/C# Optimizat performanța SslMode pentru bazele de date MySQL

[Copiază linkul]
Postat pe 18.06.2021 09:41:15 | | | |
SSL (Secure Socket Layer) folosește mecanisme de criptare a datelor, autentificare și verificare a integrității mesajelor pentru a oferi asigurare de securitate protocoalelor de nivel aplicație, bazate pe conexiuni fiabile precum TCP. Dacă transmiterea utilizatorului nu se face prin SSL, atunci datele sunt transmise în text clar pe rețea, ceea ce deschide oportunități pentru persoanele cu motive ascunse. Prin urmare, multe site-uri mari au acum funcția SSL activată. În mod similar, în baza noastră de date, dacă clientul se conectează la server pentru a obține date în loc să folosească o conexiune SSL, datele pot fi furate în timpul transmisiei.

Principalele funcții oferite de protocolul SSL sunt:

1. Confidențialitatea transmiterii datelor: Datele transmise sunt criptate folosind un algoritm de cheie simetrică.
2. Mecanism de autentificare: Pe baza certificatului, serverul și clientul sunt autentificați folosind metode de semnătură digitală, unde autentificarea clientului este opțională.
3. Verificarea integrității mesajelor: Algoritmii MAC sunt folosiți pentru a verifica integritatea mesajelor în timpul transmiterii mesajelor.

Când se folosește .NET/C# pentru a opera o bază de date MySQL,Valoarea implicită pentru SslMode este Preferred, dacă serverul suportă acest lucru, folosește SSL.

Autentificarea cu hyperlink este vizibilă.



Folosind metoda implicită, în cazul unui număr mare de concurențe, eroarea poate fi următoarea:

Mesaj în engleză : Eroare de deschidere a conexiunii. Autentificarea către gazda '192.168.1.100' pentru utilizatorul 'itsvse' folosind metoda 'mysql_native_password' a eșuat cu mesajul: Citirea din flux a eșuat.


Eroare de deschidere a conexiunii. eroare la conectare: Timeout expirat.  Perioada de timeout a trecut înainte de a obține o conexiune din pool.  Acest lucru s-ar putea întâmpla pentru că toate conexiunile grupate erau folosite și s-a atins dimensiunea maximă a pool-ului.


Utilizarea SSL asigură securitatea transmiterii datelor, dar reduce și eficiența interogării și execuției, crescând presiunea asupra bazei de date și a programelor. Deoarece baza noastră de date este într-un mediu de rețea privată, este relativ foarte sigură și nu este nevoie de criptare a transmisiunii, așa că putem îmbunătăți eficiența și performanța fără criptare SSL.

Înainte și după comparația performanței SSL (QPS):Autentificarea cu hyperlink este vizibilă.



Din datele de testare, se poate constata că după activarea SSL, baza de date QPS este redusă în medie cu aproximativ 23%, ceea ce afectează relativ performanța. Din perspectiva implementării SSL, este necesar să dăm mâna, să criptați, să decriptați și să decriptați alte operațiuni atunci când stabiliți o conexiune. Prin urmare, timpul petrecut este practic în etapa de conexiune, ceea ce poate cauza pierderi de performanță mai mari pentru aplicațiile care folosesc legături scurte, cum ar fi dezvoltarea PHP. Totuși, poate fi mult mai bine dacă folosești pool-uri de conexiuni sau conexiuni lungi.

Pentru a îmbunătăți performanța, modificați șirul de conexiune astfel:

(Sfârșit)




Precedent:.NET/C# setează numărul minim de fire în ThreadPool.SetMinThreads pentru a îmbunătăți performanța
Următor:MySQL determină dacă există un tabel sau un câmp atunci când se adaugă un tabel nou
 Proprietarul| Postat pe 11.02.2022 11:33:08 |
Opțiuni pentru șirurile de conexiune MySQL .NET:https://mysqlconnector.net/connection-options/
 Proprietarul| Postat pe 11.02.2022 13:23:13 |
Proprietățile șirurilor JDBC în Java

Driverele 5.1 sunt useSSL și requireSSL
https://dev.mysql.com/doc/connec ... props-security.html

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

Dezactivează SSL și setează: sslmode=disabled
 Proprietarul| Postat pe 11.02.2022 14:04:56 |
RewriteBatchedStatements de Java JDBC, allowPublicKeyRetrieval...
https://www.itsvse.com/thread-10252-1-1.html
Postat pe 11.04.2022 15:09:04 |
 Proprietarul| Postat pe 23.08.2024 09:56:15 |
.NET/C# folosește SqlConnectionStringBuilder pentru a compara conexiunile la baze de date
https://www.itsvse.com/thread-10625-1-1.html
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com