Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 52055|Відповідь: 5

[Джерело] .NET/C# Оптимізував продуктивність SslMode для баз даних MySQL

[Копіювати посилання]
Опубліковано 18.06.2021 09:41:15 | | | |
SSL (Secure Socket Layer) використовує механізми шифрування даних, автентифікації та перевірки цілісності повідомлень для забезпечення безпеки протоколів на рівні додатків на основі надійних з'єднань, таких як TCP. Якщо передача користувача не здійснюється через SSL, дані передаються у відкритому вигляді в мережі, що відкриває можливості для людей із прихованими мотивами. Тому багато великих вебсайтів тепер мають увімкнену функцію SSL. Аналогічно, у нашій базі даних, якщо клієнт підключається до сервера для отримання даних замість SSL-з'єднання, дані можуть бути вкрадені під час передачі.

Основні функції, які забезпечує протокол SSL, такі:

1. Конфіденційність передачі даних: Передані дані шифруються за допомогою алгоритму симетричного ключа.
2. Механізм автентифікації: На основі сертифіката сервер і клієнт автентифікуються за допомогою методів цифрового підпису, де автентифікація клієнта є необов'язковою.
3. Перевірка цілісності повідомлення: алгоритми MAC використовуються для перевірки цілісності повідомлень під час передачі повідомлень.

При використанні .NET/C# для роботи з базою даних MySQL,Значення за замовчуванням для SslMode — Preferred, якщо сервер це підтримує, використовуйте SSL.

Вхід за гіперпосиланням видно.



Використовуючи метод за замовчуванням, у випадку великої кількості паралелізму помилка може бути такою:

Англійське повідомлення: Помилка відкриття з'єднання. Автентифікація для хоста '192.168.1.100' для користувача 'itsvse' за методом 'mysql_native_password' не вдалася з повідомленням: Читання з потоку не вдалося.


Помилка відкриття з'єднання. Помилка підключення: Тайм-аут закінчився.  Період тайм-ауту минував до отримання з'єднання з пулу.  Це могло статися через те, що всі об'єднані з'єднання використовувалися і максимальний розмір пулу був досягнутий.


Використання SSL забезпечує безпеку передачі даних, але також знижує ефективність запитів і виконання, збільшуючи навантаження на базу даних і програми. Оскільки наша база даних розташована в приватному мережевому середовищі, вона відносно безпечна, і немає потреби в шифруванні передачі, тому ми можемо підвищити ефективність і продуктивність без SSL-шифрування.

Порівняння продуктивності SSL до і після (QPS):Вхід за гіперпосиланням видно.



З тестових даних видно, що після активації SSL QPS бази даних зменшується приблизно на 23% у середньому, що відносно впливає на продуктивність. З точки зору реалізації SSL, необхідно потиснути руки, шифрувати, розшифровувати та інші операції при встановленні з'єднання. Отже, витрачений час переважно знаходиться на стадії підключення, що може призвести до більшої втрати продуктивності для додатків із короткими лінками, наприклад, розробки PHP. Однак може бути набагато краще, якщо використовувати пули з'єднань або довгі з'єднання.

Для покращення продуктивності модифікуйте рядок з'єднання наступним чином:

(Кінець)




Попередній:.NET/C# встановлює мінімальну кількість потоків у ThreadPool.SetMinThreads для покращення продуктивності
Наступний:MySQL визначає, чи існує таблиця або поле при додаванні нової таблиці
 Орендодавець| Опубліковано 11.02.2022 11:33:08 |
Опції рядків з'єднання MySQL .NET:https://mysqlconnector.net/connection-options/
 Орендодавець| Опубліковано 11.02.2022 13:23:13 |
Властивості рядків у Java JDBC

Драйвери 5.1 — це useSSL і вимагають SSL
https://dev.mysql.com/doc/connec ... props-security.html

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

Вимкніть SSL і встановте: sslmode=disabled
 Орендодавець| Опубліковано 11.02.2022 14:04:56 |
Java JDBC переписує BatchedStatements, allowPublicKeyRetrieval...
https://www.itsvse.com/thread-10252-1-1.html
Опубліковано 11.04.2022 15:09:04 |
 Орендодавець| Опубліковано 23.08.2024 09:56:15 |
.NET/C# використовує SqlConnectionStringBuilder для порівняння з'єднань з базами даних
https://www.itsvse.com/thread-10625-1-1.html
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com