Eu tenho uma configuração do Amazon Web Services com uma instância do Apache por trás do Nginx com o Nginx manipulando SSL e servindo tudo, exceto as páginas .php. Nos meus testes do ApacheBench, estou vendo isso para minha chamada de API mais cara (qual cache via Memcached):
100 concurrent calls to API call (http): 115ms (median) 260ms (max)
100 concurrent calls to API call (https): 6.1s (median) 11.9s (max)
Fiz um pouco de pesquisa, desativei as criptografias SSL mais caras e habilitei o cache SSL (sei que isso não ajuda nesse teste em particular). Você pode me dizer por que meu SSL está demorando tanto? Eu configurei um servidor EC2 massivo com 8CPUs e até mesmo aplicando carga consistente a ele, apenas o aumento em até 50% da CPU total. Eu tenho 8 trabalhadores Nginx e um monte de Apache. Atualmente, toda essa configuração está em uma caixa do EC2, mas planejo dividi-la e carregá-la. Houve algumas perguntas sobre este tópico, mas nenhuma dessas respostas (desabilitar criptografias caras, cache ssl, parece fazer qualquer coisa.) Exemplos de resultados abaixo:
$ ab -k -n 100 -c 100 https://URL
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking URL.com (be patient).....done
Server Software: nginx/1.0.15
Server Hostname: URL.com
Server Port: 443
SSL/TLS Protocol: TLSv1/SSLv3,AES256-SHA,2048,256
Document Path: /PATH
Document Length: 73142 bytes
Concurrency Level: 100
Time taken for tests: 12.204 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 7351097 bytes
HTML transferred: 7314200 bytes
Requests per second: 8.19 [#/sec] (mean)
Time per request: 12203.589 [ms] (mean)
Time per request: 122.036 [ms] (mean, across all concurrent requests)
Transfer rate: 588.25 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 65 168 64.1 162 268
Processing: 385 6096 3438.6 6199 11928
Waiting: 379 6091 3438.5 6194 11923
Total: 449 6264 3476.4 6323 12196
Percentage of the requests served within a certain time (ms)
50% 6323
66% 8244
75% 9321
80% 9919
90% 11119
95% 11720
98% 12076
99% 12196
100% 12196 (longest request)