Descobrindo os limites de um Sip Proxy - Presentation Transcript
Antonio Anderson M. de Souza Testes de performance em plataformas SIP utilizando SIPP www.encontrovoipcenter.com.br
Apresentação
Antonio Anderson Martins de Souza
[email_address]
Twitter: @antonioams
Blog: http://antonioams.blogspot.com
Objetivos Fornecer uma visão geral sobre o processo de teste de performance aplicado a uma plataforma SIP, focado no processo de sinalização para estabelecimento de chamadas (Call Control) Não serão abordadas questões relativas a transporte, tratamento, e qualidade de áudio em chamadas VoIP
Agenda
Por que executar testes de performance?
Processo de teste de performance
Ferramentas para executar teste de performance
SIPP
Executando teste de performance no OpenSips
Relatório do testes de performance
Aprimoramento da performance “Tuning”
Por que executar testes de performance? Aumentar a previsibilidade
Por que executar testes de performance? Detectar como o sistema escala
Por que executar testes de performance? Detectar gargalos
Por que executar testes de performance? Aprimorar performance “ Tuning”
Processo do teste de performance
Processo do teste de performance
Aplicação a ser testada: SIP Proxy Server para uma operadora VoIP
Funcionalidade a ser testada: Chamadas entre assinantes VoIP
Indicadores de performance, e seus limiares aceitáveis:
Sessions Per Second (SPS) – Item a ser descoberto
Session Setup Delay (SSD) – 500ms
Session Duration Time (SDT) – 3 minutos
Recursos a serem monitorados, e seus limiares aceitáveis:
CPU – max 75%
Memória – max 75%
Rede – max 90%
Planejamento
Processo do teste de performance Sessions Per Second (SPS) – Número de novas sessões (“chamadas”) por segundo. Session Setup Delay (SSD) – Tempo entre o usuário terminar a discagem e receber o sinalização de progresso de chamada (“Ringing”) Session Duration Time (SDT) – Tempo total de conversação Traduzindo os indicadores
Processo do teste de performance SPS * SDT = Número estimado de chamadas simultanêas Em um sistema de telecomunicações para assinantes residenciais estima-se que apenas 10% dos assinantes fazem chamadas simultanêamente Fazendo alguns cálculos com os indicadores SDT = 3 minutos SPS = 30 Taxa de retenção = 10 % 30 * 180 = 5400 5400 = 10% * Núm de assinantes Número de assinantes = 54000
Processo do teste de performance
Plataforma a ser testada
01 SIP Proxy Server
01 MySQL Server
Plataforma de testes
02 Servidores para rodar o SIPP
Configuração de hardware / Software
Todas as máquinas Pentium 4 HT 3GHz, 2 GB RAM
Linux CentOS 5.2
Kernel 2.6.18-92.122
OpenSips 1.5
MySQL 5.1
SIPP 3.1
Planejamento: Infra-Estrutura
Processo do teste de performance Planejamento: Infra-Estrutura
Processo do teste de performance
Gerador de carga SIP: SIPP
Monitoração indicadores: SIPP, Sipana
Monitoração recursos: Sysstat
Execução: Ferramentas
SIPP
O SIPP é a ferramenta mais conhecida e estável para a execução de testes de performance em plataformas SIP
Site: http://sipp.sourceforge.net/
Licença: GPL
Plataforma: Múltiplas Linux, Unix, Windows
Principais funcionalidades:
Cenários de testes customizáveis via arquivo XML
Massa de testes carregada através de arquivo csv
Geração de estatísticas dinamicamente no console, e periodicamente em arquivos csv
Suporte a geração e recepção de stream RTP através de um arquivo pcap
Suporte à TCP, UDP, Ipv6, TLS, SIP Authentication, Robustez contra Erros de protocolo, Regular Expressions, etc.
SIPP: Distribuição de Carga Normal Exponencial Logarítmica
Outros algoritmos
Weibull
Pareto
Gamma
Negbin
SIPP: Console
Executando testes de performance no OpenSips: Execução
A carga aplicada foi aumentada linearmente a cada 30 minutos, sequencia de cargas aplicadas:
14 SPS
16 SPS
18 SPS
20 SPS
Executando testes de performance no OpenSips: Execução
Por ser um ambiente controlado, foi utilizado cargas altas logo no início da execução
Foi observado que a carga máxima estava entre 18SPS e 20SPS
Executando testes de performance no OpenSips: Relatório
Executando testes de performance no OpenSips: Relatório
Executando testes de performance no OpenSips: Relatório
Executando testes de performance no OpenSips: Relatório
Executando testes de performance no OpenSips: Relatório Carga máxima suportada 18 SPS
Executando testes de performance no OpenSips: Relatório
Executando testes de performance no OpenSips: Relatório
Consumo de recursos do servidor MySQL ficou bem baixo menor que 10% de CPU
CPU, e Memória do servidor OpenSips aumentaram mas ficaram dentro dos limiares aceitáveis
Gerador de carga não limitou os testes
Conclusão
SPS suportado = 18
SSD medio = 28 ms
SDT medio = 3 minutos
Numero de chamdas simultaneas = 3240
Estimativas do número de assinantes suportados = 32400
Gargalos detectados:
Nesta rodada de teste não foi possível detectar qual o gargalo da aplicação
Tuning
Recursos de hardware não foi gargalo
Modificamos o número de instancias do OpenSips e refizemos parte dos testes
O novo limite foi 22 SPS
c
Dúvidas? ?
Referências e Downloads Artigos, Pappers, Colunas sobre testes de performance: www.perftestplus.com Comunidade de teste e qualidade de software: www.testexpert.com.br Documentação sobre o SIPp http://sipp.sourceforge.net Draft para definição de indicadores http://tools.ietf.org/html/draft-malas-performance-metrics-01 SIPp http://sipp.sourceforge.net Cacti www.cacti.net Sipana http://sipana.org/wiki/index.php/Main_Page
Obrigado!
Voice Technology www.voicetechnology.com.br São Paulo – SP [email_address]
Objetivo: Fornecer uma visão geral sobre o process more
Objetivo: Fornecer uma visão geral sobre o processo de teste de performance aplicado a uma plataforma SIP, focado no processo de sinalização para estabelecimento de chamadas (Call Control). less
2 comments
Comments 1 - 2 of 2 previous next Post a comment