Enquete

Para o TISS ficar melhor ainda, o que é preciso?
 

Notícias

On-line

Nós temos 4 visitantes online

Links


ANS
Site da Agência Nacional de Saúde.
TISS da ANS
Site do Tiss da ANS.
Perguntas mais frequentes
Perguntas mais frequentes encontradas no site da ANS.
Google
Sem comentários :).

PDF Imprimir E-mail

Estudo sobre linguagens voltadas para web

Em 2006 publiquei um artigo que tinha como objetivo comparar performance entre Apache e Microsoft IIS. Recebi alguns e-mails pedindo um estudo no mesmo sentido, porém voltado as linguagens Web. Atendendo a estes pedidos, e confesso, a uma curiosidade pessoal, realizei o estudo, e agora publico o resultado resumido desta pesquisa.

As linguagens comparadas foram escolhidas através de sua popularidade, segundo o site LanPop; descartadas as que não são propriamente web. As eleitas, nada fora do esperado, foram:

  • PHP
  • ASP
  • .NET
  • Perl
  • JSP

Como o site de referência não menciona versões e em prol de uma comparação mais ampla, versões diferentes de cada linguagem foram consideradas neste estudo.

Outro fator importante para a qualidade do resultado é o ambiente. Desta forma foi estabelecido que cada linguagem deveria rodar em seu ambiente nativo, exceto o Java (JSP). As linguagens Php e Perl, foram executadas em ambiente Linux, Asp e .NET em ambiente Windows e o Java (JSP) em ambas as plataformas. A configuração dos ambientes de execução obedeceu religiosamente a instalação padrão, levando em conta modificações que permitiam que a plataforma utilizasse todos os recursos oferecidos pelo hardware, principalmente memória ram. É sabido que existem diversos módulos e extensões que permitem a otimização de desempenho para cada linguagem, estes foram desconsiderados totalmente deste teste. A configuração do ambiente, de forma sucinta, consta abaixo:

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
Infraestrutura de Rede
  • Switch Gigabit
  • Rede local

Medições

As principais medições realizadas estão detalhadas a seguir.

Tempo de resposta
  1. Avaliar o tempo entre a requisição e seu completo processamento
  2. O resultado equivale a média de tempo em relação ao número de requisições.
Utilização de CPU
  1. Avaliar a utilização de processamento do servidor durante as requisições.
  2. O resultado equivale a média de uso do processamento em relação ao número de conexões.
Utilização de RAM
  1. Avaliar a utilização da memória RAM durante as requisições.
  2. O resultado equivale a média de uso da mémoria em relação ao número de requisições em relação ao tempo de duração das requisições

Para realizar a medição, foram desenvolvidos scripts simples, onde sua função basica era o calculo do pi com 20 casas decimais e na sequência a ordenação de um array numérico com 100 posições preenchidas aletoriamente a cada requisição, utilizando o método de ordenação bubble sort

Metodologia

  1. 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 e posteriormente o software webscarab.
  2. Aguardar e registar o resultado.
  3. Estabilizar o servidor e as máquinas clientes.
  4. Enviar um novo bloco de requisições, conforme item 1.

Este estudo permanece em desenvolvimento, uma vez que durante os procedimentos notou-se a necessidade de realizar testes mais aprofundados considerando outos fatores e variáveis. Em breve devo publicar um artigo contendo o estudo e os resultados completos, mas por hora apresento o resumo dos resultados obtidos até aqui.

Ainda é prematura uma conclusão definitiva baseada na análise dos dados. Pelo que o mercado brasileiro fala de algumas linguagens como Java e .NET, alguns mitos e paradigmas estão caindo por terra.