Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 52055|Odpowiedź: 5

[Źródło] .NET/C# Optymalizacja wydajności SslMode dla baz danych MySQL

[Skopiuj link]
Opublikowano 18.06.2021 09:41:15 | | | |
SSL (Secure Socket Layer) wykorzystuje szyfrowanie danych, uwierzytelnianie oraz mechanizmy weryfikacji integralności wiadomości, aby zapewnić gwarancję bezpieczeństwa protokołów warstwy aplikacyjnej opartych na niezawodnych połączeniach, takich jak TCP. Jeśli transmisja użytkownika nie odbywa się przez SSL, dane są przesyłane w tekście jawnym w sieci, co otwiera możliwości dla osób o ukrytych motywach. Dlatego wiele dużych stron internetowych ma teraz włączoną funkcję SSL. Podobnie, w naszej bazie danych, jeśli klient łączy się z serwerem, aby pobrać dane zamiast korzystać z połączenia SSL, dane mogą zostać skradzione podczas transmisji.

Główne funkcje oferowane przez protokół SSL to:

1. Poufność transmisji danych: Przesyłane dane są szyfrowane za pomocą algorytmu klucza symetrycznego.
2. Mechanizm uwierzytelniania: Na podstawie certyfikatu serwer i klient są uwierzytelniani za pomocą metod podpisu cyfrowego, gdzie uwierzytelnianie klienta jest opcjonalne.
3. Weryfikacja integralności wiadomości: Algorytmy MAC są używane do weryfikacji integralności wiadomości podczas transmisji.

Podczas korzystania z .NET/C# do obsługi bazy danych MySQL,Domyślna wartość SslMode to Preferowana, jeśli serwer to obsługuje, użyj SSL.

Logowanie do linku jest widoczne.



Stosując domyślną metodę, w przypadku dużej liczby współbieżności, błąd może wyglądać następująco:

Wiadomość angielska: Błąd otwarcia połączenia. Autologacja do hosta '192.168.1.100' dla użytkownika 'itsvse' przy użyciu metody 'mysql_native_password' zakończyła się niepowodzeniem z komunikatem: Odczyt ze strumienia zakończył się niepowodzeniem.


Błąd otwarcia połączenia. błąd przy łączeniu: Czas minął.  Okres przejścia minął przed uzyskaniem połączenia z pulą.  Mogło to nastąpić, ponieważ wszystkie połączenia połączone były używane i osiągnięto maksymalny rozmiar puli.


Użycie SSL zapewnia bezpieczeństwo transmisji danych, ale jednocześnie obniża efektywność zapytań i wykonywania, zwiększając presję na bazę danych i programy. Ponieważ nasza baza danych działa w środowisku sieci prywatnej, jest stosunkowo bardzo bezpieczna i nie wymaga szyfrowania transmisji, więc możemy zwiększyć efektywność i wydajność bez szyfrowania SSL.

Porównanie wydajności SSL przed i po (QPS):Logowanie do linku jest widoczne.



Z danych testowych wynika, że po włączeniu SSL QPS w bazie danych jest średnio zmniejszony o około 23%, co stosunkowo wpływa na wydajność. Z perspektywy implementacji SSL konieczne jest uścisk dłoni, szyfrowanie, deszyfrowanie i inne operacje podczas nawiązywania połączenia. Dlatego czas spędzany jest zasadniczo na etapie połączenia, co może powodować większą utratę wydajności w aplikacjach korzystających z krótkich linków, takich jak tworzenie w PHP. Jednak może być znacznie lepiej, jeśli używasz pul połączeń lub długich połączeń.

Aby poprawić wydajność, zmodyfikuj ciąg połączeń w następujący sposób:

(Koniec)




Poprzedni:.NET/C# ustala minimalną liczbę wątków w ThreadPool.SetMinThreads, aby poprawić wydajność
Następny:MySQL określa, czy tabela lub pole istnieje podczas dodawania nowej tabeli
 Ziemianin| Opublikowano 11.02.2022 11:33:08 |
Opcje łańcucha połączeń MySQL .NET:https://mysqlconnector.net/connection-options/
 Ziemianin| Opublikowano 11.02.2022 13:23:13 |
Właściwości ciągów znaków JavaScript JDBC

Sterowniki 5.1 to use SSL i wymagają SSL
https://dev.mysql.com/doc/connec ... props-security.html

8.0 z trybem SSL Mode
https://dev.mysql.com/doc/connec ... props-security.html

Wyłącz SSL i ustawij: sslmode=disabled
 Ziemianin| Opublikowano 11.02.2022 14:04:56 |
Java JDBC umożliwia rewriteBatchedStatements, zezwala na wyszukiwanie PublicKey...
https://www.itsvse.com/thread-10252-1-1.html
Opublikowano 11.04.2022 15:09:04 |
 Ziemianin| Opublikowano 23.08.2024 09:56:15 |
.NET/C# wykorzystuje SqlConnectionStringBuilder do porównywania połączeń baz danych
https://www.itsvse.com/thread-10625-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com