Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 52055|Respuesta: 5

[Fuente] .NET/C# Optimizó el rendimiento de SslMode para bases de datos MySQL

[Copiar enlace]
Publicado en 18/6/2021 9:41:15 | | | |
SSL (Secure Socket Layer) utiliza mecanismos de cifrado de datos, autenticación y verificación de integridad de mensajes para proporcionar garantía de seguridad a los protocolos de la capa de aplicación basados en conexiones fiables como TCP. Si la transmisión del usuario no es vía SSL, entonces los datos se transmiten en texto plano en la red, lo que abre oportunidades para personas con motivos ocultos. Por ello, muchos sitios web grandes ahora tienen activada la función SSL. De manera similar, en nuestra base de datos, si el cliente se conecta al servidor para obtener datos en lugar de usar una conexión SSL, los datos pueden ser robados durante la transmisión.

Las principales funciones que proporciona el protocolo SSL son:

1. Confidencialidad de la transmisión de datos: Los datos transmitidos se cifran mediante un algoritmo de clave simétrica.
2. Mecanismo de autenticación: Según el certificado, el servidor y el cliente se autentican mediante métodos de firma digital, donde la autenticación del cliente es opcional.
3. Verificación de integridad de mensajes: Se utilizan algoritmos MAC para verificar la integridad de los mensajes durante la transmisión.

Al usar .NET/C# para operar una base de datos MySQL,El valor predeterminado para SslMode es Preferred, si el servidor lo soporta, usa SSL.

El inicio de sesión del hipervínculo es visible.



Usando el método por defecto, en caso de un gran número de concurrencias, el error puede ser el siguiente:

Mensaje en inglés: Error de apertura de conexión. La autenticación al host '192.168.1.100' para el usuario 'itsvse' usando el método 'mysql_native_password' falló con mensaje: La lectura del flujo ha fallado.


Error de apertura de conexión. error al conectar: Tiempo de espera expirado.  El tiempo de espera transcurrió antes de obtener una conexión de la piscina.  Esto pudo haber ocurrido porque todas las conexiones agrupadas estaban en uso y se alcanzó el tamaño máximo de la piscina.


El uso de SSL garantiza la seguridad de la transmisión de datos, pero también reduce la eficiencia de la consulta y ejecución, aumentando la presión sobre la base de datos y los programas. Como nuestra base de datos está en un entorno de red privada, es relativamente muy segura y no es necesario cifrar la transmisión, por lo que podemos mejorar la eficiencia y el rendimiento sin cifrado SSL.

Antes y después de la comparación de rendimiento SSL (QPS):El inicio de sesión del hipervínculo es visible.



A partir de los datos de prueba, se puede observar que tras habilitar SSL, la base de datos QPS se reduce aproximadamente un 23% de media, lo que afecta relativamente al rendimiento. Desde la perspectiva de la implementación de SSL, es necesario estrechar la mano, cifrar, descifrar y realizar otras operaciones al establecer una conexión. Por lo tanto, el tiempo dedicado es básicamente en la fase de conexión, lo que puede causar una mayor pérdida de rendimiento para aplicaciones que usan enlaces cortos, como el desarrollo en PHP. Sin embargo, puede ser mucho mejor si usas pools de conexiones o conexiones largas.

Para mejorar el rendimiento, modifica la cadena de conexión de la siguiente manera:

(Fin)




Anterior:.NET/C# establece el número mínimo de hilos en ThreadPool.SetMinThreads para mejorar el rendimiento
Próximo:MySQL determina si existe una tabla o un campo al añadir una nueva tabla
 Propietario| Publicado en 11/2/2022 11:33:08 |
Opciones de cadenas de conexión MySQL .NET:https://mysqlconnector.net/connection-options/
 Propietario| Publicado en 11/2/2022 13:23:13 |
Propiedades de cadenas JDBC en Java

Los controladores 5.1 son useSSL y requireSSL
https://dev.mysql.com/doc/connec ... props-security.html

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

Desactiva SSL y configura: sslmode=deshabilitado
 Propietario| Publicado en 11/2/2022 14:04:56 |
RewriteBatchedStatements de Java JDBC, allowPublicKeyRetrieval...
https://www.itsvse.com/thread-10252-1-1.html
Publicado en 11/4/2022 15:09:04 |
 Propietario| Publicado en 23/8/2024 9:56:15 |
.NET/C# utiliza SqlConnectionStringBuilder para comparar conexiones a bases de datos
https://www.itsvse.com/thread-10625-1-1.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com