Для швидкого та брудного тестування (тобто оптимізації взагалі немає) я включив простий веб-сайт Ubuntu apache2 за замовчуванням (який просто говорить "Це працює!") З http та https (самопідписаний сертифікат) на локальному Ubuntu 9.04 VM та запустив apache еталон " ab
" з 10000 запитами (без паралельності). Клієнт і сервер були на одній машині / VM:
Результати для http (" ab -n 10000 http://ubuntu904/index.html
")
- Час, витрачений на тести: 2.664 секунди
- Запити в секунду: 3753.69 (# / сек)
- Час на запит: 0,266ms
Результати для https (" ab -n 10000 https://ubuntu904/index.html
"):
- Час, взятий для тестів: 107,673 секунди
- Запити в секунду: 92,87 (# / сек)
- Час на запит: 10,767 мс
Якщо ви уважніше подивитеся (наприклад, на tcpdump або wireshark) на tcp / ip-повідомлення одного запиту, ви побачите, що для випадку HTTP потрібно 10 пакетів між клієнтом і сервером, тоді як для https потрібно 16: затримка набагато більша при https. (Більше про важливість затримки тут )
Додавання режиму зберігання ( ab
опція -k
) до тесту покращує ситуацію, оскільки тепер усі запити мають однакове з'єднання, тобто накладні витрати SSL нижче - але https все-таки вимірюється повільніше:
Результати для http з Keep-Live (" ab -k -n 10000 http://ubuntu904/index.html
")
- Час, витрачений на тести: 1.200 секунд
- Запити в секунду: 8334,86 (# / сек)
- Час на запит: 0,120мс
Результати для https з Keep-Live (" ab -k -n 10000 https://ubuntu904/index.html
"):
- Час, витрачений на тести: 2.711 секунд
- Запити в секунду: 3688.12 (# / сек)
- Час на запит: 0,271ms
Висновок :
- У цій простій тесті https набагато повільніше, ніж http.
- Це гарна ідея, щоб увімкнути підтримку https та порівняти ваш веб-сайт, щоб побачити, чи хочете ви заплатити за накладні витрати https.
- Використовуйте дротик, щоб отримати враження про накладні витрати SSL.