Назад | Перейти на главную страницу

Можно ли ожидать такого (40-кратного) замедления работы nginx при использовании HTTPS?

Итак, я создал простой файл ab.htm, содержащий в нем только «test».

ab -n 1000 -c 10 http://www.domain.com/ab.htm

дает мне 15400req / sec

и

ab -n 1000 -c 10 https://www.domain.com/ab.htm

дает мне 390 запросов / сек

Если я добавлю флаг -k Keep-Alive, он вернется к ~ 10 000. Но это не решение, если у меня будет 1000 одновременных пользователей, они не все будут использовать одно и то же соединение ...

Это на Centos 6 VPS 4 ГБ, nginx 1.5.6.

Я также пробовал его при одновременном использовании 1, 100 и 1000 и получил аналогичные результаты.

Я ожидал, что он будет медленнее, но не в сорок раз медленнее .... это нормально, или что-то пошло не так? Если это нормально, что я могу сделать, чтобы исправить ситуацию - более слабые шифровки и т. Д. Я думаю?

И да, я понимаю, что это крошечная часть головоломки и относительно незначительная по сравнению со сценариями и загрузкой базы данных. Но все же хотелось бы хотя бы знать, что это нормально.

Спасибо


Дополнительная информация:

Версии и т. Д .:

uname -a

Linux 2.6.32-358.18.1.el6.x86_64 # 1 SMP среда, 28 августа, 17:19:38 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux

openssl version

OpenSSL 1.0.1e 11 февраля 2013 г.

nginx -V

Версия nginx: nginx / 1.5.6, созданный gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) Поддержка TLS SNI включена аргументы конфигурации: --prefix = / etc / nginx --sbin-path = / usr / sbin / nginx --conf-path = / etc / nginx / nginx.conf --error-log-path = / var / log / nginx / error.log --pid-path = / var / run / nginx.pid --http-log-path = / var / log / nginx / access.log --lock-path = / var / run / nginx.lock --http-client-body-temp-path = / var / cache / nginx / client_temp --http-proxy-temp-path = / var / cache / nginx / proxy_temp --http-fastcgi-temp-path = / var / cache / nginx / fastcgi_temp --http-scgi-temp-path = / var / cache / nginx / scgi_temp --http-uwsgi-temp-path = / var / cache / nginx / uwsgi_temp --user = nginx --group = nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module - -with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_module-mail_secure_module --with-http_module --with-http_secure_mod -with-mail_ssl_module - с-file-aio --with-http_spdy_module

следует ожидать значительного замедления, но 300 об / с - это слишком медленно; Недавно я провел несколько тестов, и это мои результаты, чтобы дать вам некоторые числа и отношения:

  • http: ~ 30.000 об / с
  • https без поддержки активности: ~ 9.000 об / с
  • https с поддержкой активности: ~ 18 000 об / с

что вам нужно сделать:

  • настроить правильное количество рабочих в nginx.conf (workes == количество процессоров)
  • включить ssl_session_cache общий
  • протестировать разные шифрокиты на производительность (tbd с моего сайта)
  • проверять, выписываться это руководство для получения дополнительных ssl на основе nginx + perf-tuning-infos

390 / rps я ожидал от apache ... SCNR :)