\\ ====== PABX Asterisk: Desempenho no Solaris 10 versos Linux ====== \\ \\ ~~#FF0000: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 DO 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.\\ \\