Untuk pengujian cepat & kotor (mis. Tanpa optimasi apa pun!) Saya mengaktifkan situs web standar sederhana apache2 Ubuntu (yang hanya mengatakan "Berhasil!") Dengan http dan https (sertifikat yang ditandatangani sendiri) pada Ubuntu 9,04 VM lokal dan menjalankan apache patokan " ab
" dengan 10.000 permintaan (tanpa konkurensi). Klien dan server berada di mesin / VM yang sama:
Hasil untuk http (" ab -n 10000 http://ubuntu904/index.html
")
- Waktu yang dibutuhkan untuk pengujian: 2,664 detik
- Permintaan per detik: 3753.69 (# / dtk)
- Waktu per permintaan: 0,266 ms
Hasil untuk https (" ab -n 10000 https://ubuntu904/index.html
"):
- Waktu yang dibutuhkan untuk pengujian: 107.673 detik
- Permintaan per detik: 92,87 (# / detik)
- Waktu per permintaan: 10.767ms
Jika Anda melihat lebih dekat (misalnya dengan tcpdump atau wireshark) pada komunikasi tcp / ip dari satu permintaan, Anda akan melihat bahwa case http membutuhkan 10 paket antara klien dan server sedangkan https membutuhkan 16: Latency jauh lebih tinggi dengan https. (Lebih lanjut tentang pentingnya latensi di sini )
Menambahkan keep-hidup ( ab
opsi -k
) ke tes meningkatkan situasi karena sekarang semua permintaan berbagi koneksi yang sama yaitu overhead SSL lebih rendah - tetapi https masih lebih lambat terukur:
Hasil untuk http dengan tetap-hidup (" ab -k -n 10000 http://ubuntu904/index.html
")
- Waktu yang dibutuhkan untuk pengujian: 1.200 detik
- Permintaan per detik: 8334,86 (# / detik)
- Waktu per permintaan: 0,120 ms
Hasil untuk https dengan tetap-hidup (" ab -k -n 10000 https://ubuntu904/index.html
"):
- Waktu yang dibutuhkan untuk pengujian: 2,711 detik
- Permintaan per detik: 3688.12 (# / dtk)
- Waktu per permintaan: 0.271ms
Kesimpulan :
- Dalam testcase https sederhana ini jauh lebih lambat dari http.
- Sebaiknya aktifkan dukungan https dan patok situs web Anda untuk melihat apakah Anda ingin membayar biaya overhead https.
- Gunakan wireshark untuk mendapatkan kesan overhead SSL.