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. Однак може бути набагато краще, якщо використовувати пули з'єднань або довгі з'єднання.
Для покращення продуктивності модифікуйте рядок з'єднання наступним чином:
(Кінець)
|