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