Upload
lcbj
View
370
Download
0
Embed Size (px)
Citation preview
Avaliação de Desempenho de Sistemas de Informação
MSc. Luiz Barboza
http://barbozaluiz.blogspot.com/
Teste de Performance
• Objetivo do Teste: • Validar o tempo de resposta do Sistema para umadeterminada transação ou função, para as seguintes condições:- Volume Normal de Carga ;- Volume de Carga Elevado ;
• Técnica: 1. Utilizar os Procedimentos de Testes implementados para o Modelo de Teste;
2. Modificar os arquivos de dados ou os scripts para aumentar o número de iterações de cada transação;
3. Os scripts deverão ser executados em uma única máquina e deverão ser repetidos com múltiplos clients;
• Critério de Completude 1. Completude com sucesso dos scripts de Teste sem nenhuma falha e dentro do tempo esperado / requerido (por transação) para um usuário único;
2. Completude com sucesso dos scripts de Teste sem falhas e dentro do tempo esperado / requerido para múltiplos usuários;
• Considerações Especiais:
1. O Teste de Performance se caracteriza por gerar uma sobrecarga no servidor. Existem vários métodos que poderão ser utilizados para obter isso, incluindo:
2. Criar uma carga de usuários virtuais para simular muitos clients conectados. Esta técnica também pode ser utilizada para sobrecarregar o tráfego da rede.
3. Utilizar clients múltiplos, cada um executando scripts de testes, para gerar uma carga no sistema.
Teste de Carga
• Objetivo do Teste: • Verificar o tempo de resposta do sistema para determinadas transações ou “business cases” em várias condições de sobrecarga (10 usuários, 20 usuários, 50 usuários simultâneos e 75 usuários simultâneos).
• Técnica: 1. Utilizar os scripts de testes desenvolvidos para o Ciclo de Teste;
2. Modificar arquivos de dados (para aumentar o número de transações ) ou testes para aumentar o número de vezes de cada transação.
• Critério de Completude: 1. Completude com sucesso dos scripts de teste sem falhas e dentro de uma alocação de tempo aceitável;
• Considerações Especiais: 1. O teste de carga deverá ser realizado em uma máquina dedicada ou num tempo dedicado. Isto irá permitir controle total e uma medição mais acurada dos recursos de CPU, memória, rede e disco.
Teste de Stress
• Objetivos do Teste: • Verificar a funcionalidade do sistema nas seguintes condições:
• Máximo número de usuários conectados (75 usuários simultâneos).
• Múltiplos usuários desempenhando as mesmas transações sobre os mesmos dados.
• Observações: O objetivo do teste de Stress pode ser também identificar e documentar as condições em que o sistema deixa de continuar funcionando adequadamente;
• Técnica: • Utilizar os scripts de teste desenvolvidos para o Teste de Performance;
• Testar o sistema com baixa disponibilidade de recursos (memória RAM, disco, rede).
• Critério de Completude: • Todos os testes planejados são executados, e os limites do sistema especificados são alcançados sem falhas no software;
• Considerações Especiais: • O stress da rede pode exigir ferramentas especiais para sobrecarregar a rede com mensagens / pacotes.
• Deve ser feita uma sincronização dos usuários virtuais concorrentes que estarão acessando os mesmos registros / banco de dados;
Throughput and response time
Performance ”knee”
Performance vs users
0.00
20.00
40.00
60.00
80.00
100.00
120.00
20 40 60 80 100 120 140 160 180
Virtual users
Re
sp
on
se
tim
e
Requisitos de Performance
Workload Model
Transação 1
Transação 2
Transação 3
Workload Model
Transação 1
Transação 2
Transação 3
Workload Model
Workload Model
Add to Cart
Login
Register
Browse
Search
62%
14%
10%7%
7%
Arquitetura de Aplicação Web
WebServer
DatabaseServer
ApplicationServerCluster
EJB Server
MQ SeriesServer
WebSphere Application Server
• Load Balancing• Firewalls• Secure Gateways
Protocolo HTTPProtocolo HTTP
Modelo Requisição-RespostaModelo Requisição-Resposta
Web Server Machine
Client
WebServer
App(e.g.
Apache)
Web Container
App(e.g.
Tomcat)
Servlet
Arquitetura de Aplicação Web
Request
URL
Web Server Machine
Client
WebServer
App(e.g.
Apache)
Web Container
App(e.g.
Tomcat)
Servlet
Arquitetura de Aplicação Web
Request
URL
Web Server Machine
Client
WebServer
App(e.g.
Apache)
Web Container
App(e.g.
Tomcat)
Servlet
Arquitetura de Aplicação Web
Request
Web Server Machine
Client
WebServer
App(e.g.
Apache)
Web Container
App(e.g.
Tomcat)
Servlet
Web App Processing with Servlet
Response
Web Server Machine
Client
WebServer
App(e.g.
Apache)
Web Container
App(e.g.
Tomcat)
Servlet
Arquitetura de Aplicação Web
Response
Web Server Machine
Client
WebServer
App(e.g.
Apache)
Web Container
App(e.g.
Tomcat)
Servlet
Arquitetura de Aplicação Web
Response
Teste de Performance Distribuído
Virtual Users (Rational Agent Controller)
WebServer
DatabaseServer
ApplicationServerCluster
EJB Server
MQ SeriesServer
Rational Performance Tester
Local or remotetest execution
WebSphere Application Server
• Load Balancing• Firewalls• Secure Gateways