Análise de Desempenho: Web API

Apresento nesse artigo um conjunto de procedimentos que podem ser utilizados para mensurar o desempenho que um Servidor Web que fornece uma API sobre o protocolo HTTP. Abordo um caso de uso semelhante ao de uma aplicação em uma instância EC2 da Amazon Web Services, utilizando a pilha de softwares LAMP.

[ Hits: 7.613 ]

Por: Saulo Gomes em 05/02/2016 | Blog: https://about.me/saulo.gomes


Metodologia proposta e medição do ambiente virtual



Metodologia Proposta

Utilizando o software para coleta de dados Collectl, presente nos repositórios de distribuições Linux, serão coletados dados referentes ao uso do processador, memória, entrada e saída de disco e rede. Será utilizado um Bash Script que será executado 5 segundos antes do gerador de carga iniciar as requisições.

A aplicação fornecida pelo servidor web será uma API simples, para simular um ambiente de informações distribuídas, ambiente comumente utilizado por aplicações de dispositivos móveis e sistemas distribuídos que usam o protocolo HTTP para troca de informações. A

base de dados utilizada é a Sakila Database, base fornecida pela equipe do MySQL para utilização em livros, tutoriais, artigos e experimentos de forma geral. A consulta utilizada nos testes retorna as 200 linhas da tabela 'actor' da base de dados.

Os sofwares Jmeter e Apache Bench, fornecidos pela Fundação Apache, serão utilizados para a simulação de carga no ambiente.

Medição do Ambiente Virtual

A máquina virtual será executada pelo programa VirtualBox, a máquina terá apenas um núcleo de processamento e 1GB de memória principal, com essa configuração estará próxima da configuração fornecida pela Amazon para o serviço gratuito de instância EC2, que é uma máquina virtual disponível pelo prazo de um ano. O perfil dos softwares do servidor são:
  • distribuição Linux Ubuntu Server
  • servidor Web Apache
  • interpretador PHP
  • servidor MySQL

Foram utilizadas as versões mais recentes disponíveis nos repositórios da distribuição. Por padrão o servidor Web Apache possui uma configuração para responder até 150 requisições concorrentes.

Para a geração da carga de trabalho será utilizado o Apache Jmeter, versão 2.13r1665067. A carga gerada terá um comportamento crescente de requisições concorrentes, de acordo com a seguinte progressão: 1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150. Com um tempo de inicialização de 5 segundos para cada grupo de usuários do Jmeter. O Apache Bench usará a mesma progressão.

Página anterior     Próxima página

Páginas do artigo
   1. Resumo
   2. Fundamentação teórica
   3. Metodologia proposta e medição do ambiente virtual
   4. Conclusão e trabalhos futuros
Outros artigos deste autor

Análise de Desempenho: Web API - Recursos técnicos

Leitura recomendada

FreeRadius 3 + iODBC + Base de Dados em MS SQL Server 2008 no Ubuntu Server - Guia definitivo

Cliente Nagios no Windows - Instalação e Configuração

Observium - Monitoramento de Rede

Obtendo TimeStamps da Blockchain com OpenTimestamps

Configurando Placa Wireless Broadcom BCM43142 no SlackWare 14.2

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts