Geradores de Carga de Trabalho para Servidores Web

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos Baseados na Web
Advertisements

UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Infra-Estrutura de TI: Hardware e Software
Processos no Unix e Linux
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Introdução aos Serviços Web
SISTEMAS DISTRIBUÍDOS
JMeter.
Paulo Sérgio Franco Eustáquio
Avaliação de Desempenho de Sistemas Operacionais
Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Marcos José
Avaliação de Desempenho
Algoritmos de escalonamento (com e sem o
Wagner Santos C. de Jesus
Área de Desenvolvimento de Sistemas
Linux Servidor de Redes WEB Prof. Roberto Amaral.
Ferramenta para teste de software
WebWork e JSP Keven andrade
Prof. Marco Aurelio N. Esteves
Performance em aplicações web – Parte I
Tecnologias para Internet
Curso EFA de técnico de Informática e Sistemas
TCP/IP CAMADA DE APLICAÇÃO SERVIÇOS
SOA - Arquitetura Orientada a Serviços
Desenvolvimento de Projetos e Aplicações Web
Funcionalidades e Protocolos da Camada de Aplicação
Enrique P. L. de Oliveira Tecnologia para Web Enrique P. L. de Oliveira
Introdução ao Desenvolvimento Web
Programação para estrutura Cliente-Servidor
Paulo Sérgio Salla Sá Orientação: Prof. Dr. Dilvan de Abreu Moreira
Tópicos de Sistemas de Informação A
Protocolo HTTP e Web Servers
A autoria - II.
Conceitos de J2EE para a WEB
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Curso Técnico em Informática Disciplina: Programação Web 2 - PHP
FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04 Prof. André Lucio.
Aplicações Web com Orientação a Objetos
IIS Web Server.
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
OMNeT++.
PROGRAMAÇÃO WEB AULA 01 Prof. Gustavo Linhares
Padrões de Interação com o Usuário
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Automação de Testes de Software
A Internet e Seu Impacto
O Que É a Internet e Como Funciona: Tecnologias Ativas Renato M.E. Sabbatini, PhD Aula.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
MAC499 - Trabalho de Formatura Supervisionado Rachel de Paula Thiago Lourençoni Wu Chen Lung Estágio realizado em uma empresa que atua na área de ASP (Application.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Programação para Internet
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
Aula 1 - Fundamentos Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros.
Student Tech Clubs Desenvolvimento WEB Antonio Ladeia Graduando em Tecnologia em Análise e Desenvolvimento de Sistemas Instituto Federal da Bahia Introdução.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Aplicativos para Internet Prof. Wolley W. Silva
Universidade Federal de Sergipe Departamento de Sistemas de Informação Bruno Cruz Jessica Rodrigo Aragão – ASP.NET MVC 3.
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
Detecção de tráfego Skype na Web através de Redes Neurais Artigo Original: Freire, P. E., Ziviani, A., and Salles, R. M. (2008). Detecting skype flows.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
JMeter. O que é ? É uma ferramenta Open Source de testes de performance e estresse automatizados para aplicações WEB Feita em Java Possibilita testes.
Engenharia de Sistemas (Lato Sensu) Victor Costa de Alemão Cisneiros Hudson Ramos Aracaju/SE COMPARAÇÃO ENTRE SERVIDORES WEB APACHE HTTP SERVER E NGINX.
Alessandro D. R. Fazenda
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Transcrição da apresentação:

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.

World Wide Web Workload Generator (W4Gen) 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) 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.

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.

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.

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.

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.

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.

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.

Figura 2: Componentes lógicos do SPECWeb2005 (SPEC, 2005). 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).

Figura 3: Fases do SPECWeb2005 (SPEC, 2005). 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).

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.

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.

Figura 4: Elementos de um teste usando o WebStone (WebStone, 2002). 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).

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.

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 – Gera conexões e cada uma executa uma requisição (HTTP/1.0); Cria sessões, constituídas de rajadas de requisições e tempo de pensar. De URL – Repete a seqüência de URLs; Flui por um conjunto fixo de URLs a uma determinada taxa.

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.

Número de Usuários/ Clientes Comparação Número de Usuários/ Clientes Protocolos Conteúdo Sessão W4Gen Múltiplos HTTP/1.0 e HTTP/1.1 Estático e dinâmico Não JMeter HTTP e HTTTPS SPECWeb2005 HTTP e HTTPS Sim WebStone HTTP/1.0 Httperf Geist Múltiplos * Sim ** * Não simula usuários explicitamente; ** Considera o impacto do comportamento do usuário nas propriedades temporais do tráfego. * Não simula usuários explicitamente, mas cria diversas threads que irão originar requisições em determinado instante de tempo. ** Considera o impacto do comportamento do usuário nas propriedades temporais do tráfego: o comportamento do usuário, muitas vezes caracterizado por períodos de alta e baixa atividade, cada um com distribuição de cauda pesada. As correlações nas chegadas de processo podem afetar substancialmente o comportamento das filas. A chegada de processos é gerada através da distribuição de Poisson. - Geist: analisa logs para caracterizar as propriedades de tráfego.

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/.