quinta-feira, 15 de setembro de 2016

Teste De Escalabilidade: Apache x IIS Off-Topic

Este é um teste simples de escalabilidade em comparativo entre Apache 2.2.3 e o IIS 7.










Este teste foi motivado por uma observação de clientes, que mencionam ter problemas de escalabilidade com o Apache. Eu tenho certeza que o Apache pode responder as requisições que o cliente precisa, mas por este percebemos que com a configuração padrão, isto não é possível, são necessários alguns tunings.
O Apache é o padrão do CentOS 5.5, mais atual.
O IIS é o padrão do Windows Server 2008 Enterprise.
(Obs: Todas as configurações padrões de ambas as distribuições foram mantidas default.)
O teste foi feito 3 vezes, com 10000 requisições, com concorrência de 1000, para o arquivo inicial de cada Web Server: iisstart.htm para o IIS, e index.html para o Apache.
Tanto o CentOS quanto o Windows estão em VMs, com a mesma configuração: 4GB RAM, 2 CPU. apenas uma VM foi ligada de cada vez.
IIS 7:
servidor@servidor-aplicacao:~$ ab -n 10000 -c 1000 http://192.168.56.101/issstart.html
Benchmarking 192.168.56.101 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software:        Microsoft-IIS/7.0
Server Hostname:     192.168.56.101
Server Port:               80
Document Path:          /issstart.html
Percentage of the requests served within a certain time (ms)
50%    881
66%    901
75%    906
80%    912
90%    940
95%   1039
98%   1081
99%   1092
100%   1124 (longest request)
Total of 1124 requests completed

Apache 2.2.3:

servidor@servidor-aplicacao:~$ ab -n 10000 -c 1000 http://192.168.56.102/index.html
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 192.168.56.102 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
apr_socket_recv: Connection reset by peer (104)
Total of 6133 requests completed

servidor@servidor-aplicacao:~$

Conclusão

O IIS 7 escala melhor, as requisições são respondidas mais rapidamente, tanto individualmente quanto no total.
O Apache, além de respostas mais lentas, não atendeu todas sendo que no último teste atender apenas 61% das requisições.
Em um próximo Post irei executar o tuning do Apache para que este problema seja um pouco minimizado.

2 comentários:

  1. Respostas
    1. Ola estaremos preparando um próximo teste ambiente em alta escalabilidade com Nginx em mode de requisições TSL. Acompanhe com a gente no blog até a próxima ..

      Excluir