Os servidores web são os principais fornecedores de conteúdo da internet. Esta responsabilidade esta dividida, principalmente, entre dois serviços. O Httpd do grupo Apache, responsável por 65% aproximadamente, e o IIS da Microsoft com cerca de 25% do mercado.
Como outros casos, existe uma discussão que tenta definir qual é o melhor entre os dois softwares, desta forma esta pesquisa foi elaborada para avaliar os dois sistemas. Com base no resultado poderemos definir qual é o melhor serviço para determinada situação.
Definições
Hardware do servidor (Windows e Linux)
- Processador Intel Xeon TM Dual (biprocessada)
- 2Gb RAM
- 2x Discos SCSI 76Gb
- Placa de Rede Gigabit
Máquinas clientes (4 PCs)
- Processador AMD Atlhon 64 2800
- 1Gb RAM
- Placa de Rede Gigabit
- Sistema operacional - Linux Debian 64 (sem ambiente gráfico)
Infraestrutura de Rede
- Switch Gigabit
- Rede local, sem contato com a internet
Particionamento - Windows
- C:\ 10GB (NTFS)
- D:\ 66GB (NTFS)
Particionamento - Linux
- swap 4Gb
- /boot 100Mb (ext3)
- / 15Gb (ext3)
- /home 56Gb (ext3)
IIS 5
- Sistema Operacional Windows 2000 Server
- Todas atualizações disponíveis no windows Update aplicadas
- Cache desativado
IIS 6
- Sistema Operacional Windows 2003 Server
- Todas atualizaçõs disponíveis no Windows Update aplicadas
- Cache desativado
Apache 1.3
- Sistema Operacional Linux Red Hat AS (sem ambiente grafico)
- Cache desativado
Apache 2.2
- Sistema Operacional Linux Red Hat AS (sem ambiente gráfico)
- Cache desativado
Medições
Tempo de resposta
- Avaliar o tempo entre a requisição e o completo recebimento de um arquivo html simples de 188Kb por protocólo HTTP.
- O resultado equivale a média de tempo em relação ao número de requisições.
Utilização de CPU
- Avaliar a utilização de processamento do servidor durante as requisições.
- O resultado equivale a média de uso do processamento em relação ao número de conexões.
Utilização de RAM
- Avaliar a utilização da memória RAM durante as requisições.
- O resultado equivale a média de uso da mémoria em relação ao número de requisições.
Metodologia
- Enviar um bloco de X requisições, sendo que cada uma das quatro máquinas clientes enviam a um mesmo servidor X/4 requisições. Utiliza-se o software wget para realizar cada requisição.
- Aguardar e registar o resultado.
- Estabilizar o servidor e as máquinas clientes.
- Enviar um novo bloco de requisições, conforme item 1.
Resultado



Conclusão
Após estes resultados é possível analisar o comportamento dos sistemas e assim definir a melhor opção para determinado projeto. Fica evidente que em casos com requisições inferiores a 900 ambos os sistemas suprem as necessidades fundamentais de performance e disponibilidade que um projeto possa vir a requerer. Desta maneira a tecnologia de desenvolvimento (ASP, PHP, .NET, CGI...) e o custo de licenciamento serão os fatores a serem considerados na tomada de decisão.
Aplicações de intranet (médias e pequenas empresas), sites corporativos e pequenos sistemas de informação são alguns exemplos onde qual servidor web a utilizar não será o fator predominante para a decisão. Nestes caso o custo com as licenças e a tecnologia de desenvolvimento, entre outros fatores, predominarão para a escolha do serviço de publicação.
Porém quando falamos em alta requisição os sistema Httpd da Apache mostra melhor desempenho. Isto justifica sua liderança no mercado atualmente e o crescimento até setembro de 2005. Entretanto, a partir desta data a utilização deste servidor web começou a cair. Abaixo está um gráfico cotendo o histórico da fatia de mercado por sistema.
Fonte NetcraftParticularmente acredito que esta queda esteja associada a facilidade de clusterização e o detalhamento na configuração que a Microsoft provê ao IIS 6 e ao Win2k3. Em um ambiente cluster aliado a facilidade de configuração, em comparação ao sistema da Apache, os problemas relacionados a alta requisição seriam resolvidos.
Em contrapartida o custo de licenças para a utilização da plataforma Microsoft pode inviabilizar um projeto. Neste caso a vantagem novamente volta a ser da Apache e consequentemente do Linux. Este também exige profissionais extremamente qualificados para realizar a implatação de um ambiente em cluster, porém não apresenta custos de licenças ou renovação destas.
A decisão, em determinados casos, terá como relevância principal o custo do projeto; sendo ou não este de alta requisição. De qualquer maneira, a escolha da tecnologia a ser utilizada deve ser analisada caso a caso. Felizmente existem as opções, ambas possuem vatagens e desvantagens; sendo assim não podemos generalizar e definir qual é a melhor de todas, mas sim decidir qual é a melhor para determinado projeto.

0 comentários:
Postar um comentário