descobrindo os limites de um sip proxy

Post on 26-May-2015

2.193 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

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

Antonio Anderson M. de Souza

Testes de performance em plataformas SIP utilizando SIPP

www.encontrovoipcenter.com.br

Apresentação

• Antonio Anderson Martins de Souza• antonio@voicetechnology.com.br• 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

antonio@voicetechnology.com.br

top related