descobrindo os limites de um sip proxy

36
Antonio Anderson M. de Souza Testes de performance em plataformas SIP utilizando SIPP www.encontrovoipcenter.com.br

Upload: antonio-anderson-souza

Post on 26-May-2015

2.193 views

Category:

Technology


5 download

DESCRIPTION

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)‏.

TRANSCRIPT

Page 1: Descobrindo os limites de um Sip Proxy

Antonio Anderson M. de Souza

Testes de performance em plataformas SIP utilizando SIPP

www.encontrovoipcenter.com.br

Page 2: Descobrindo os limites de um Sip Proxy

Apresentação

• Antonio Anderson Martins de Souza• [email protected]• Twitter: @antonioams• Blog: http://antonioams.blogspot.com

Page 3: Descobrindo os limites de um Sip Proxy

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

Page 4: Descobrindo os limites de um Sip Proxy

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”

Page 5: Descobrindo os limites de um Sip Proxy

Por que executar testes de performance?

Aumentar a previsibilidade

Page 6: Descobrindo os limites de um Sip Proxy

Por que executar testes de performance?

Detectar como o sistema escala

Page 7: Descobrindo os limites de um Sip Proxy

Por que executar testes de performance?

Detectar gargalos

Page 8: Descobrindo os limites de um Sip Proxy

Por que executar testes de performance?

Aprimorar performance

“Tuning”

Page 9: Descobrindo os limites de um Sip Proxy

Processo do teste de performance

Page 10: Descobrindo os limites de um Sip Proxy

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

Page 11: Descobrindo os limites de um Sip Proxy

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

Page 12: Descobrindo os limites de um Sip Proxy

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

Page 13: Descobrindo os limites de um Sip Proxy

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

Page 14: Descobrindo os limites de um Sip Proxy

Processo do teste de performance

Planejamento: Infra-Estrutura

Page 15: Descobrindo os limites de um Sip Proxy

Processo do teste de performance

• Gerador de carga SIP: SIPP• Monitoração indicadores: SIPP, Sipana• Monitoração recursos: Sysstat

Execução: Ferramentas

Page 16: Descobrindo os limites de um Sip Proxy

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.

Page 17: Descobrindo os limites de um Sip Proxy

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>

Page 18: Descobrindo os limites de um Sip Proxy

SIPP: Massa de Dados

Page 19: Descobrindo os limites de um Sip Proxy

SIPP: Distribuição de Carga

Normal

Exponencial

Logarítmica

Outros algoritmos Weibull Pareto Gamma Negbin

Page 20: Descobrindo os limites de um Sip Proxy

SIPP: Console

Page 21: Descobrindo os limites de um Sip Proxy
Page 22: Descobrindo os limites de um Sip Proxy

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

Page 23: Descobrindo os limites de um Sip Proxy

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

Page 24: Descobrindo os limites de um Sip Proxy

Executando testes de performance no OpenSips: Relatório

Page 25: Descobrindo os limites de um Sip Proxy

Executando testes de performance no OpenSips: Relatório

Page 26: Descobrindo os limites de um Sip Proxy

Executando testes de performance no OpenSips: Relatório

Page 27: Descobrindo os limites de um Sip Proxy

Executando testes de performance no OpenSips: Relatório

Page 28: Descobrindo os limites de um Sip Proxy

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

Page 29: Descobrindo os limites de um Sip Proxy

Executando testes de performance no OpenSips: Relatório

Page 30: Descobrindo os limites de um Sip Proxy

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

Page 31: Descobrindo os limites de um Sip Proxy

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

Page 32: Descobrindo os limites de um Sip Proxy

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

Page 33: Descobrindo os limites de um Sip Proxy

Dúvidas?

?

Page 34: Descobrindo os limites de um Sip Proxy

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

Page 35: Descobrindo os limites de um Sip Proxy

Obrigado!

Page 36: Descobrindo os limites de um Sip Proxy

Voice Technology

www.voicetechnology.com.br

São Paulo – SP

[email protected]