Isso é muito (40x) nginx desaceleração sob HTTPS é esperado?

2

Então, criei um arquivo simples, ab.htm, com apenas "teste".

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

me dá 15400req / seg

e

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

me dá 390req / seg

Se eu adicionar o sinalizador -k Keep-Alive, ele retornará para ~ 10.000. Mas isso não é uma solução, se eu tiver 1.000 usuários simultâneos, eles não compartilharão a mesma conexão ...

Isto está em um 4GB Centos 6 VPS, nginx 1.5.6.

Eu tentei em simultaneidade de 1, 100 & 1000 também e obteve resultados semelhantes.

Eu estava esperando que fosse mais lento, mas não FORTY vezes mais lento .... isso é normal, ou algo deu errado? Se é normal, o que posso fazer para melhorar a situação - cifras mais fracas, etc, eu acho?

E sim, eu aprecio que esta é uma pequena parte do quebra-cabeça, e relativamente insignificante em comparação com as cargas de script e banco de dados. Mas ainda assim, gostaria de pelo menos saber que é normal.

Obrigado

Informações adicionais:

  • CentOS 6.4
  • CPU Intel E5-2640
  • Xen VPS (em um Servidor Proliant HP DL380p Gen8, eu acho)
  • 4 GB de RAM

Versões etc:

uname -a

Linux 2.6.32-358.18.1.el6.x86_64 # 1 SMP qua 28 de agosto 17:19:38 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux

openssl version

OpenSSL 1.0.1e 11 de fevereiro de 2013

nginx -V

versão nginx: nginx / 1.5.6 construído pelo gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) Suporte a TLS SNI ativado configure argumentos: --prefix = /etc/nginx --sbin-path = /usr/sbin/nginx --conf-path = /etc/nginx/nginx.conf --error-log-path = / var / log / nginx / error.log --pid-caminho = / var / run / nginx.pid --http-log-path = /var/log/ginx/access.log --lock-path = / var / run / nginx. lock --http-client-body-temp-caminho = / var / cache / nginx / client_temp --http-proxy-temp-caminho = / var / cache / nginx / proxy_temp --http-fastcgi-temp-caminho = / var / cache / nginx / fastcgi_temp --http-scgi-temp-caminho = / var / cache / nginx / scgi_temp --http-uwsgi-temp-caminho = / var / cache / nginx / uwsgi_temp --usuário = 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_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_spdy_module

    
por Codemonkey 09.10.2013 / 01:59

1 resposta

1

uma desaceleração significativa é esperada, mas 300 rps é muito lento; Eu fiz alguns testes recentemente e esses são meus resultados, para dar alguns números e relações:

  • link
  • link
  • link

qual sua necessidade de fazer:

  • sintonize os números corretos de trabalhadores em nginx.conf (workes == numbers of processors)
  • ativar ssl_session_cache compartilhado
  • testar diferentes conjuntos de cifras para desempenho (tbd do meu site)
  • confira este guia para mais ssl com base em nginx + ajuste de infos-infos

390 / rps eu esperaria do apache ... SCNR:)

    
por 09.10.2013 / 09:39

Tags