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
")
- Tiempo necesario para las pruebas: 2.664 segundos
- Solicitudes por segundo: 3753.69 (# / seg)
- Tiempo por solicitud: 0.266ms
Resultados para https (" ab -n 10000 https://ubuntu904/index.html
"):
- Tiempo necesario para las pruebas: 107.673 segundos
- Solicitudes por segundo: 92.87 (# / seg)
- Tiempo por solicitud: 10.767 ms
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
")
- Tiempo necesario para las pruebas: 1.200 segundos.
- Solicitudes por segundo: 8334.86 (# / seg)
- Tiempo por solicitud: 0.120ms
Resultados para https con keep-alive (" ab -k -n 10000 https://ubuntu904/index.html
"):
- Tiempo requerido para las pruebas: 2.711 segundos
- Solicitudes por segundo: 3688.12 (# / seg)
- Tiempo por solicitud: 0.271ms
conclusión :
- En este simple caso de prueba, https es mucho más lento que http.
- Es una buena idea habilitar el soporte de https y comparar su sitio web para ver si desea pagar los gastos generales de https.
- Use wireshark para tener una idea de la sobrecarga de SSL.