Para um teste rápido e sujo (ou seja, sem otimização alguma!), Ativei o site padrão Ubuntu apache2 simples (que apenas diz "Funciona!") Com http e https (certificado autoassinado) em uma VM local Ubuntu 9.04 e executei o apache referência " ab
" com 10.000 solicitações (sem simultaneidade). Cliente e servidor estavam na mesma máquina / VM:
Resultados para http (" ab -n 10000 http://ubuntu904/index.html
")
- Tempo necessário para os testes: 2,666 segundos
- Pedidos por segundo: 3753.69 (# / s)
- Tempo por solicitação: 0.266ms
Resultados para https (" ab -n 10000 https://ubuntu904/index.html
"):
- Tempo necessário para os testes: 107,673 segundos
- Pedidos por segundo: 92,87 (# / s)
- Tempo por solicitação: 10.767ms
Se você der uma olhada mais de perto (por exemplo, com tcpdump ou wireshark) na comunicação tcp / ip de uma única solicitação, 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 )
A adição de keep-alive ( ab
opção -k
) ao teste melhora a situação, porque agora todas as solicitações compartilham a mesma conexão, ou seja, a sobrecarga do SSL é menor - mas https ainda é mensurável mais devagar:
Resultados para http com keep-alive (" ab -k -n 10000 http://ubuntu904/index.html
")
- Tempo necessário para os testes: 1.200 segundos
- Pedidos por segundo: 8334.86 (# / s)
- Tempo por solicitação: 0.120ms
Resultados para https com keep-alive (" ab -k -n 10000 https://ubuntu904/index.html
"):
- Tempo necessário para os testes: 2,711 segundos
- Pedidos por segundo: 3688.12 (# / s)
- Tempo por solicitação: 0.271ms
Conclusão :
- Neste simples caso de teste, o https é muito mais lento que o http.
- É uma boa ideia habilitar o suporte para https e comparar o seu site para ver se você deseja pagar pela sobrecarga do https.
- Use o wireshark para obter uma impressão da sobrecarga do SSL.