PABX Asterisk: Desempenho no Solaris 10 versos Linux
Embora o autor original pareça puxar o saco do Solaris (vender o peixe dele), porém esse tutorial merece está aqui por ser uma referência documentada sobre o assunto. No entanto, carece de validação pelos membros do AsteriskBrasil que possuam o Asterisk rodando sobre o Solaris.
Fonte: http://www.thrallingpenguin.com/articles/asterisk-solaris.htm
--------------------------------------------------------------------------------
Sumário: Esse artigo compara as características de performance de operação do PABX Asterisk sobre o Solaris 10 versos Linux. O autor mostra como conseguir níveis altos de performance do Asterisk sobre o Solaris 10 usando uma funcionalidade nativa disponível ao Solaris. Em adição, os scripts Solaris 10 SMF (Service Management Facility) são colocados disponíveis para assegurar a continuidade de operação do PABX Asterisk sobre o sistema operacional Solaris 10.
--------------------------------------------------------------------------------
Visão Geral
O Sistema Operacional Solaris 10 – considerado de fato o sistema operacional UNIX mais avançado – fornece muitas funcionalidades de interesse de operadoras de telecomunicações. De particular importância para as operadoras de serviços de voz e dados convergentes na indústria de telecomunicações é o software servidor VoIP conhecido como PABX Asterisk. O PABX Asterisk é oferecido sob uma licença de software livre pela Digium.
Neste artigo, vamos mostrar as características de performance do PABX Asterisk como um servidor SIP rodando sobre os sistemas operacionais Linux e Solaris 10. Nós empregamos a ferramenta de medida desempenho SIPstone oferecida pela aplicação SIPp para conseguir os resultados de cada teste. A ferramenta SIPp usada para executar o teste SIPstone é oferecida sob uma licença de software livre pela HP.
--------------------------------------------------------------------------------
O Que é o PABX Asterisk
Do site web Asterisk.org:
“O Asterisk é um PABX completo em software. Ele roda sobre o Linux, BSD e MacOSX, e fornece todas as funcionalidades que você deve esperar de um PABX e muito mais. O Asterisk executa voz sobre IP em muitos protocolos e pode interoperar com quase todos os equipamentos de telefonia baseados em padrões usando hardware relativamente barato”.
--------------------------------------------------------------------------------
Instalação do Laboratório
A lista de hardware usada é a seguinte:
1. Um Celeron 2.4 GHz com RAM 512 MB
2. Um Sun Fire x2100 com Opteron 175 e RAM 2 GB
3. Um Windows XP Pro x64 com AMD FX-55 e RAM 4 GB
A lista de software usado é a seguinte:
1. CentOS 3.7
2. Solaris 10 1/06
3. Asterisk 1.2.7.1
4. SIPp 1.1 3/15/05
--------------------------------------------------------------------------------
Resultados
Primeiro o Celeron foi carregado com o sistema operacional CentOS e o Asterisk foi compilado e instalado para o hardware Celeron, usando o máximo de otimizações oferecida. A partir do momento que o Asterisk ficou operacional, a ferramenta de teste de desempenho SIPp foi usada a partir de um sistema Windows XP Pro x64 para medir o desempenho do Asterisk sobre o CentOS. Em todos os testes, as chamadas foram requisições à aplicação de voicemail do Asterisk.
O número de ligações por segundo foram aumentadas até que o número de retransmissões começou aumentar. Neste ponto, as ligações por segundo foram diminuídas até que as retransmissões não mais aconteceram. O número de troca de contexto, uso de CPU pelos processos de usuário, e uso de CPU pelos processos do sistema foram monitoradas usando o comando vmstat em ambos os sistemas operacionais. Os números mostrados na Tabela 1 são os valores médios durante o processo de teste de desempenho.
Durante as altas cargas colocadas pela aplicação SIPp, o Asterisk atingiu o evento segmentation fault
sob o CentOS, mas nunca travou sobre o sistema operacional Solaris. Foi observado que à medida que o tempo passava, o número de aplicação rodando voicemail concorrentemente causava um grande stress em ambos os sistemas.
Depois que foram concluídos os testes com o Linux, o Solaris 10 foi carregado sobre a plataforma Celeron e o Asterisk foi compilado e instalado especificamente para usar este hardware, usando o máximo de otimizações oferecidas incluindo a biblioteca mtmalloc. Então os mesmos procedimentos de testes foram empregados acima.
Sistema Operacional | Chamadas por segundo | Trocas de Contextos | Uso da CPU % pelos processos do Usuário | Uso da CPU % pelos processos do Sistema |
CentOS 3.7 | 110 | 1.200-2.000 | <= 48 | <= 70 |
Solaris 10 (c/mtmalloc) | 325 | 1.800-2.100 | <= 44 | <= 47 |
Tabela 1. Sobre a Máquina Celeron
Quando do último teste, o Asterisk foi compilado sobre a máquina Sun Fire x2100 e feito o teste de desempenho. Esse sistema foi escolhido por causa da suas capacidades dual-core. O Asterisk foi então compilado e instalado com e sem a biblioteca mtmalloc oferecida no Solaris 10.
A biblioteca mtmalloc oferece um ganho expressivo de performance para aplicações orientadas a multithread sobre o Solaris. O PABX Asterisk é uma aplicação fortemente orientada a multithread´s e aloca e desaloca memória intensamente. Usando a biblioteca mtmalloc, a performance é dramaticamente aumentada. Os resultados dos testes de desempenho com e sem a biblioteca mtmalloc são mostradas na Tabela 2.
Mtmalloc Linked | Chamadas p/ segundo | Trocas de Contexto | Uso de CPU % pelos processos de Usuário | Uso de CPU % pelos processos de Sistema |
no | 900 | 17.000-19.000 | <= 66 | <= 32 |
yes | 1.400 | 14.000-15.000 | <= 66 | <= 28 |
Tabela 2. Sobre a máquina Sun Fire x2100
--------------------------------------------------------------------------------
Facilidade de Gerenciamento de Serviço do Solaris 10
Você pode baixar os scripts SMF para uso com o Asterisk no Solaris 10 no site web da Thralling Penguin LLC. Adicionalmente, existem instruções disponíveis para a instalação dos scripts SMF.
--------------------------------------------------------------------------------
Conclusão
Implementando sua convergência de voz e dados sobre o sistema operacional Solaris 10, você será capaz de aumentar o número de ligações simultâneas em hardware equivalentes. Adicionalmente, o sistema operacional Solaris 10 inclui a Facilidade de Gerenciamento do Serviço que permite ao sistema operacional monitorar e manter o status operacional do Asterisk, em caso de falha.
Finalmente, usando o hardware Sun Microsystems combinado com o sistema operacional Solaris 10, você está ganhando as funcionalidades RAD do hardware além de aumentar a performance das características do Asterisk.
--------------------------------------------------------------------------------
Referências
Solaris VoIP
http://www.solarisvoip.com
Sun Microsystems
http://www.sun.com
CentOS
http://www.centos.org
PABX Asterisk
http://www.asterisk.org
SIPp http://sipp.sourceforge.net
Uma Comparação de Alocações de Memória em Multi-processadores
http://developers.sun.com/solaris/articles/multiproc/multiproc.html
--------------------------------------------------------------------------------
Sobre o Autor
Sr. Joseph Benden, é o proprietário da Thralling Penguin. A Thralling Penguin projeta, desenvolve e acrescenta tecnologias de software para as várias demandas de aplicações empresariais, bem como oferece serviços de Consultoria em VoIP.Obs.: Eu publiquei esse material em portugues inicial no Portal AsteriskBrasil.
Um comentário:
Parabens pelos posting,
Tenho o celeron 2.4 ghz e gostaria de confirmar se ele é de 64bits e posso baixar o solaris 10 que iforma se de 64bits no site da sun.
obrigado
Postar um comentário