Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 52055|Ответ: 5

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

[Скопировать ссылку]
Опубликовано 18.06.2021 9: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 |
Свойства строк JDBC в Java

Драйверы 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=отключённый
 Хозяин| Опубликовано 11.02.2022 14:04:56 |
Java JDBC rewriteBatchedStatements, allowPublicKeyRetrieval...
https://www.itsvse.com/thread-10252-1-1.html
Опубликовано 11.04.2022 15:09:04 |
 Хозяин| Опубликовано 23.08.2024 9:56:15 |
.NET/C# использует SqlConnectionStringBuilder для сравнения соединений с базами данных
https://www.itsvse.com/thread-10625-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com