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 protected]• 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 VoIPFuncionalidade 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êasEm 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 minutosSPS = 30Taxa de retenção = 10 %
30 * 180 = 54005400 = 10% * Núm de assinantesNú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 SIPSite: http://sipp.sourceforge.net/Licença: GPLPlataforma: Múltiplas Linux, Unix, WindowsPrincipais 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: Cenário de Teste <scenario name="Basic Sipstone UAC"> <send retrans="500"> <![CDATA[ INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:local_port];branch=[branch] From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] To: sut <sip:[service]@[remote_ip]:[remote_port]> Call-ID: [call_id] CSeq: 1 INVITE Contact: sip:sipp@[local_ip]:[local_port] Max-Forwards: 70 Subject: Performance Test Content-Type: application/sdp Content-Length: [len]
v=0 o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] s=- c=IN IP[media_ip_type] [media_ip] t=0 0 m=audio [media_port] RTP/AVP 0 a=rtpmap:0 PCMU/8000 ]]> </send> <recv response="100" optional="true"> </recv>
SIPP: Massa de Dados
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
SPS SSD14 cps 25ms16 cps 45ms18 cps 28ms20 cps 4 segundos
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 SIPphttp://sipp.sourceforge.net
Draft para definição de indicadoreshttp://tools.ietf.org/html/draft-malas-performance-metrics-01
SIPphttp://sipp.sourceforge.net
Cactiwww.cacti.net
Sipanahttp://sipana.org/wiki/index.php/Main_Page
Obrigado!
Voice Technology
www.voicetechnology.com.br
São Paulo – SP
Top Related