20
Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Embed Size (px)

Citation preview

Page 1: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Geradores de Carga de Trabalho para Servidores Web

Dayse Silveira de AlmeidaOrientadora: Regina Helena Carlucci Santana

Page 2: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Roteiro Geradores de Carga de Trabalho:

W4Gen; Jmeter; SPECWeb2005; WebStone; Httperf; Geist.

Page 3: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Desenvolvido por Silva (2006), em Java; Objetivo: gerar cargas de trabalho sintéticas

para modelos de servidores Web; Carga é gerada a partir da caracterização de

nove logs de servidores Web Apache; CISC (Centro de Informática de São Carlos), da

Prefeitura de Londrina e do Br10, Cdmil, Tum, Copi, Stanford , Veenet e Connectmed.

Três categorias: Acadêmico; Notícia/informativo; Tradicional.

World Wide Web Workload Generator (W4Gen)

Page 4: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

World Wide Web Workload Generator (W4Gen) Utilizou-se a biblioteca PSOL (Probability/

Statistics Object Library) [Siegrist, 2005];

Adicionou-se Pareto Geral;

Adaptou-se a função Geométrica: Características do objeto e do código de resposta.

Page 5: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Modelo da Carga de Trabalho Características:

Intervalo de chegada - [0, +∞) ; Classe do objeto - [imagem, html, dinâmico, texto,

documento, scritp, binário, áudio, vídeo]; Código de reposta - [2xx, 3xx, 4xx, 5xx] ; Tamanho do objeto - [0, +∞).

Figura 1: Formato da requisição do W4Gen.

Page 6: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Configuração da Carga de Trabalho Sua carga pode ser configurada:

Web; Ambientes pré-definidos:

Site acadêmico; Site de notícia; Site tradicional.

Permite selecionar uma função de distribuição; Criação de um novo modelo de carga.

Page 7: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Configuração da Carga de Trabalho Código de resposta:

Requisição 200 – código de resposta 200 é acrescendo a todas as requisições;

Função de distribuição – Geométrica, parâmetro deve ser configurado;

Valores de porcentagem – quatro tipos devem ser configurados.

Classes de objeto: Função de distribuição – Geométrica, parâmetro deve ser

definido; Valores de porcentagem – nove tipos devem ser configurados.

Intervalo de chegada: Função de distribuição e parâmetros configuráveis; Sobrecarga: comprimir o tempo de chegada entre as

requisições. Tamanho do objeto:

Função de distribuição e parâmetros configuráveis. Mudanças nos valores padrão podem reproduzir um

comportamento diferente da realidade da Web.

Page 8: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

JMeter Ferramenta de código aberto, escrita em Java; Desenvolvida pelo Apache Software

Foundation; Criada para realizar testes de desempenho

em aplicações Web; Testa recursos estáticos e dinâmicos:

Arquivos estáticos; Java Servlets; Scripts Pearl; Java Objects; Servidores FTP.

Page 9: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

JMeter Usado para simular cargas para testar o

desempenho de servidores e redes. Diferentes tipos de servidores:

Web – HTTP (HyperText Transfer Protocol) e HTTPS (HyperText Transfer Protocol Secure);

SOAP (Simple Object Access Protocol); Banco de dados via JDBC (Java Database

Connectivity); LDAP (Lightweight Directory Access Protocol); JMS (Java Message Service); E-mail – POP3 (Post Office Protocol - Version 3);

Simula o acesso de diversos usuários concorrentes.

Page 10: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

SPECWeb2005 Desenvolvido pela Standart Performance

Evaluation Corporation (SPEC); Objetivo: Medir o desempenho de servidores

Web respondendo a requisições a páginas estáticas e dinâmicas;

Visa avaliar sua sobrecarga; Plataformas:

Windows; Unix.

Page 11: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Componentes Lógicos Clientes – geradores de carga; Cliente principal – controla os clientes, dispara rotinas de

inicialização, armazena resultados; Servidor – coleção de hardware e software que controla as

requisições; BeSim – simula um back-end, e contém informações usadas

pelo Servidor Web.

Figura 2: Componentes lógicos do SPECWeb2005 (SPEC, 2005).

Page 12: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Funcionamento Número de sessões simultâneas corresponde

ao número de threads; “Sessão de usuário” passa por vários estados; Cliente principal controla as fases de

execução:

Figura 3: Fases do SPECWeb2005 (SPEC, 2005).

Page 13: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Funcionamento Cronômetro é iniciado antes do envio da

requisição e parado quando recebe último byte da resposta;

Respostas válidas: Tempo agregado a página; Conferido com os valores de QoS; Campo de QoS correspondente incrementado.

TIME_GOOD, TIME_TOLERABLE ou TIME-FAIL.

Ao término da execução: Dados de todos os clientes são agregados; É determinado se os critérios de QoS foram

alcançados.

Page 14: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Geração da Carga de Trabalho Gera cargas baseadas em aplicações Web

reais, baseando-se em logs e estatísticas coletadas;

Três tipos: Banking; E-commerce; Support.

Cada requisição: execução de um script dinâmico e, arquivos embutidos;

Requisitos de QoS: atraso de retorno e taxa de bytes.

Page 15: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

WebStone Originalmente desenvolvido pela Silicon Graphics; Mindcraft Inc. adquiriu seus direitos; Carga é gerada através da simulação de vários

clientes; Webmaster – programa que controla o teste.

Figura 4: Elementos de um teste usando o WebStone (WebStone, 2002).

Page 16: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

WebStone Envio de requisições HTTP/1.0 (GET) para arquivos

específicos; Conjunto de arquivos:

Baseado no modelo do site da Silicon Graphics, de 1995; Pode ser alterado; Padrão é pequeno;

Três tipos de acesso: HTML (HyperText Markup Language); CGI (Common Gateway Interface); API (Application Programming Interface).

Características foram obtidas através de padrões de acesso a sites populares.

Resultados: vazão, latência de conexão e latência da requisição.

Page 17: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Httperf Suporta HTTP/1.0 e HTTP/1.1; Dois tipos de geradores de carga:

Geram um número fixo de requisições HTTP do tipo GET.

De requisições – 1. Gera conexões e cada uma executa uma

requisição (HTTP/1.0);2. Cria sessões, constituídas de rajadas de

requisições e tempo de pensar. De URL –

1. Repete a seqüência de URLs;2. Flui por um conjunto fixo de URLs a uma

determinada taxa.

Page 18: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Geist Gera carga com conteúdo de e-commerce; Não simula explicitamente, usuários,

protocolos ou componentes de rede; Propriedades do tráfego são modeladas

diretamente no servidor; Gerador de trace define 30 parâmetros aos

quais podem ser atribuídos valores em um arquivo de entrada;

Gera um arquivo de trace, que pode ser dividido entre múltiplos clientes;

Gerador de tráfego também é controlado atribuindo valores a parâmetros pré-definidos.

Page 19: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Comparação

* Não simula usuários explicitamente;** Considera o impacto do comportamento do usuário nas propriedades temporais do

tráfego.

Número de Usuários/ Clientes

Protocolos Conteúdo Sessão

W4Gen Múltiplos HTTP/1.0 eHTTP/1.1

Estático e dinâmico

Não

JMeter Múltiplos HTTP e HTTTPS

Estático e dinâmico

Não

SPECWeb2005

Múltiplos HTTP e HTTPS Estático e dinâmico

Sim

WebStone Múltiplos HTTP/1.0 Estático e dinâmico

Não

Httperf Múltiplos HTTP/1.0 eHTTP/1.1

Estático e dinâmico

Sim

Geist Múltiplos * HTTP e HTTPS Estático e dinâmico

Sim **

Page 20: Geradores de Carga de Trabalho para Servidores Web Dayse Silveira de Almeida Orientadora: Regina Helena Carlucci Santana

Referências Httperf (2009). Disponível em

http://www.hpl.hp.com/research/linux/httperf/.

JMeter (2008). Disponível em http://jakarta.apache.org/jmeter.

Silva, L. H. C. (2006). Caracterização de Carga de Trabalho para Testes de Modelos de Servidores Web. Dissertação de mestrado, Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo.

  SPEC (2005). Standard Performance Evaluation Corporation Web

2005 (SPECWeb2005). Disponível em http://www.spec.org.

WebStone (2002). The Benchmark for Web Servers. Disponível em http: //www.mindcraft.com/webstone/.