¿Aproximadamente cuánto impacto tendrá el rendimiento https en comparación con http para la misma página? Supongamos que puedo manejar 1000 solicitudes / s para abc.php, ¿cuánto disminuirá cuando acceda a través de https? Sé que esto puede depender del hardware, la configuración, el sistema operativo, etc., pero solo estoy buscando una regla general / estimación.
apache-2.2
performance
erotsppa
fuente
fuente
Respuestas:
Para una prueba rápida y sucia (es decir, ¡sin optimización alguna!), Habilité el simple sitio web predeterminado de Ubuntu apache2 (que solo dice "¡Funciona!") Con http y https (certificado autofirmado) en una VM local Ubuntu 9.04 y ejecuté el apache punto de referencia "
ab
" con 10,000 solicitudes (sin concurrencia). El cliente y el servidor estaban en la misma máquina / VM:Resultados para http ("
ab -n 10000 http://ubuntu904/index.html
")Resultados para https ("
ab -n 10000 https://ubuntu904/index.html
"):Si observa más de cerca (por ejemplo, con tcpdump o wireshark) en la comunicación tcp / ip de una sola solicitud , verá que el caso http requiere 10 paquetes entre el cliente y el servidor, mientras que https requiere 16: la latencia es mucho mayor con https. (Más sobre la importancia de la latencia aquí )
Agregar keep-alive (
ab
opción-k
) a la prueba mejora la situación porque ahora todas las solicitudes comparten la misma conexión, es decir, la sobrecarga de SSL es menor, pero https todavía es medible más lento:Resultados para http con keep-alive ("
ab -k -n 10000 http://ubuntu904/index.html
")Resultados para https con keep-alive ("
ab -k -n 10000 https://ubuntu904/index.html
"):conclusión :
fuente
En los servidores modernos, diría que su cuello de botella sería la red y su aplicación, no el cifrado. El TLS / SSL en apache se escribirá en C bastante optimizado, por lo que se verá eclipsado por su código PHP, especialmente si va a hacer cosas como el acceso a la base de datos. Servir archivos estáticos probablemente tendrá un mayor impacto, ya que el cifrado se convertirá en una parte más importante de todo el proceso. No puedo darte ninguna cifra concreta, pero me sorprendería si fuera más del 5% y probablemente más cerca de un par de por ciento.
fuente
¡No asumas nada, pruébalo tú mismo! En sus aplicaciones web específicas, por supuesto.
fuente
Creo que en el hardware moderno, es más probable que esté vinculado a E / S para una transacción en particular que a procesador (cómputo). Esto es particularmente cierto cuando se habla de compresión y encriptación. El cifrado de 128 bits es trivial en estos días: en general, me cuesta mucho más construir y entregar las páginas salientes que usar SSL, y no he notado una diferencia significativa en el rendimiento entre el tráfico http y https en unos pocos años.
fuente
Secundo la recomendación para nginx. En mis propias pruebas, se ha mantenido bien como un descargador SSL dedicado.
fuente
Por supuesto, si el procesamiento SSL impacta mucho, siempre puede moverlo fuera del servidor a un cuadro dedicado. Hay una buena descripción de hacer esto con nginx por aquí . Esto es algo que hemos hecho en servidores de carga equilibrada de capa 7 altamente cargados.
fuente
Puedo confirmar que la carga adicional para el cifrado es muy pequeña en comparación con todos los demás elementos incluidos (secuencias de comandos, red, ...)
fuente
Según mi experiencia, la regla general está directamente relacionada con el tamaño de su clave pública (por ejemplo, 2048, frente a 4096, frente a 8192), todo esto lleva mucho más tiempo. Sin embargo, apenas puedo notar una diferencia en un entorno de escritorio, pero en el móvil es donde se ve la diferencia, ya que requiere potencia informática.
En general es desafortunado, pero SSL siempre ha tenido y probablemente tendrá una gran penalización de rendimiento.
fuente