Ir para o conteúdo

Ajuda

Voltar a Ajuda
Tela cheia Sugerir um artigo

Problemas de performance

15 de Maio de 2013, 21:00 , por Blogoosfero - 0sem comentários ainda | No one following this article yet.
Visualizado 704 vezes
Licenciado sob CC (by-nc)

Olá pessoal,

De uns tempos para cá, o Noosfero, software base do Blogoosfero, têm apresentado um problema recorrente de performance em praticamente todas as suas instalações de produção.

Após realizar o monitoramento e investigação de todas as Redes Sociais baseada em Noosfero, a equipe de desenvolvimento diagnosticou o problema: vazamento de memória.

Vazamento de memória é um fenômeno que ocorre em sistemas computacionais quando uma porção de memória, destinada a uma determinada operação, a um determinado programa, não é liberada após deixar de ser usada. Isso leva a falhas no sistema, pois faz com que após algum tempo de execução a operação (ou o programa) consuma toda a memória disponível e o sistema falha.

Nas aplicações baseadas em Noosfero, este problema é agravado pelo fato deste software usar ainda a versão 1.8 da linguagem de programação Ruby. É de conhecimento público que o gerenciamento de memória na máquina virtual do Ruby 1.8 é deficiente. Na versão 1.9 da referida linguagem este problema foi resolvido.

A primeira medida tomada por nossa equipe de desenvolvimento e manutenção foi programar os servidores das Redes Sociais baseadas em Noosfero para que sejam reiniciados automatica e periodicamente, de forma a liberar o consumo de memoria e reestabelecer os padrões iniciais. No caso do Blogoosfero os servidores são reiniciados no minuto 17 de cada hora. A solução é paliativa e tem funcionado. Contudo, isso pode causar algum desconforto aos nossos usuários, principalmente se estes estiverem salvando algum artigo ou comentário exatamente naquele momento em que os servidores estão sendo reiniciados.Em alguns casos a reinicialização dos servidores nem será notada pelo usuário, mas em outros poderá aparecer a tela de manutenção do Noosfero. Porém, isso não significa que o usuário tenha perdido o artigo ou comentário em produção. Os mesmos só demorarão alguns segundos para aparecer publicados no Blog ou Mural da Rede Social.

Paralelamente a isso, passamos a investigar, em servidores de teste, as causas do problema de vazamento de memória, buscando uma solução veloz e direta. Esta investigação está registrada em http://noosfero.org/Development/ActionItem2569. Porém, a investigação em servidores de teste mostrou-se parcialmente infrutífera uma vez que os problemas apresentados estão diretamente relacionados à realidade dos servidores de producão, com todos os seus dados, configurações e cargas de acesso reais online.

Tendo em vista o nível de urgência do problema e a inviabilidade de investigação em ambientes de teste, tomou-se a decisão de investir todos os esforços em uma solução maior, mais trabalhosa, porém, mais completa, que servirá não só para solucionar o problema em questão, mas também para prevenir que eles voltem a ocorrer no futuro. Essa solução levará ao aperfeiçoamento de nossa infra-estrutura computacional, com a criação de servidores de homologação, integração continua do código e testes de carga.

A equipe de desenvolvimento acredita que, a partir desta solução, será capaz localizar exatamente os eventos que causam o vazamento de memória, possibilitando assim a correção do problema.

Se tudo correr conforme o planejado, a correção, testada e aprovada, estará disponível na nova versão do Noosfero a ser lançada até 31/05/2013.

Caso enfrente alguma dificuldade no uso do Blogoosfero, solicitamos que entrem imediatamente em contato conosco, descrevendo o problema enfrentado e, se possível, enviando screenshot ou print-screen, foto da tela do computador com o mesmo. Isso nos ajudará a solucionar os problemas mais rapidamente.

Agradecemos a colaboração e paciência de todos e queremos reafirmar aqui nosso compromisso com o desenvolvimento contínuo desta plataforma nacional.

Equipe de Desenvolvimento


0sem comentários ainda

    Enviar um comentário

    Os campos realçados são obrigatórios.

    Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.

    Cancelar