Para um teste rápido e sujo (isto é, sem otimização!) habilitei o simples site padrão apache2 do Ubuntu (que apenas diz "Funciona!") com http e https (certificado autoassinado) em um Ubuntu 9.04 local VM e executei o benchmark do apache " ab
" com 10.000 solicitações (sem concorrência). Cliente e servidor estavam na mesma máquina / VM:
Resultados para link (" ab -n 10000 http://ubuntu904/index.html
")
- Tempo gasto para testes: 2.664 segundos
- Solicitações por segundo: 3753,69 (# / s)
- Tempo por solicitação: 0,266ms
Resultados para link (" ab -n 10000 https://ubuntu904/index.html
"):
- Tempo necessário para testes: 107,673 segundos
- Solicitações por segundo: 92,87 (# / seg)
- Tempo por solicitação: 10.767ms
Se você olhar mais de perto (por exemplo, com tcpdump ou wireshark) na comunicação tcp / ip de uma solicitação única , verá que o caso http requer 10 pacotes entre cliente e servidor, enquanto https requer 16: A latência é muito maior com https. (Mais sobre a importância da latência aqui )
Adicionar keep-alive ( ab
option -k
) ao teste melhora a situação porque agora todos os pedidos compartilham a mesma conexão, ou seja, o overhead SSL é menor - mas o https ainda é mensurável mais lento:
Resultados para link com keep-alive (" ab -k -n 10000 http://ubuntu904/index.html
")
- Tempo gasto para testes: 1.200 segundos
- Solicitações por segundo: 8334,86 (# / seg)
- Tempo por solicitação: 0,120 ms
Resultados para link com keep-alive (" ab -k -n 10000 https://ubuntu904/index.html
"):
- Tempo gasto para testes: 2.711 segundos
- Solicitações por segundo: 3688.12 (# / seg)
- Tempo por solicitação: 0,271 ms
Conclusão :
- Nesse teste simples, o https é muito mais lento que o http.
- É uma boa ideia ativar o suporte a https e comparar o seu site para ver se você deseja pagar pela sobrecarga de https.
- Use o wireshark para obter uma impressão da sobrecarga de SSL.