Pergunta

Meu trilhos locais executar Mongrel, eu estou tendo um problema com a quantidade de memória que está sendo usado. Meus processos de rubi-bin está usando-se cerca de 66 MB de memória residente. Como posso reduzir a quantidade de memória usada pelos trilhos?

Não é muito econômico para ter muitos servidores carris de rolamento em uma única máquina, se eles estão comendo memória a este ritmo. Meus processos php5 fcgi sentar-se entre 15-25 MB.

Estou bastante familiarizado com RoR, seria usando JRuby ajuda? Quaisquer comentários úteis na redução da pegada de memória e aumentar o desempenho são mais do que bem-vindos.

Foi útil?

Solução

Você pode olhar para Phusion Passenger e rubi Enterprise Edition , que é a configuração padrão de fato para Rails aplicações nestes dias. Um dos seus objectivos é cortar o uso de memória. Também é mais simples do que ter um monte de Mongrels.

Outras dicas

Se você não está amarrado a apache para outra coisa, eu iria também tentar nginx com Phusion Passenger. Se você estiver preocupado com o uso de memória, você deve ver uma pegada menor do nginx de apache, ea versão mais recente do Passageiro irá baixar, compilar e instalar o nginx para você com dores de cabeça mínimos.

Você também pode substituir o seu processo de vira-lata com Fina que é mais eficiente e recentemente foi corrigido em sua coleta de lixo (através EventMachine), para torná-lo ainda melhor.

Nós usamos conjunto fina por trás frontends nginx com bons resultados.

Eu não iria tão longe a ponto de dizer Passenger é o padrão de fato, mas está ganhando muita tração. Nós apenas mudou para Nginx + Passageiros, e nosso aplicativo ruby ??(ou seja Mongrels vs. Passageiros) footprint de memória caiu de cerca de 450MB para 295MB. Ele pode cair menos, como de passageiros vai matar procs se ocioso (isto é configurável), mas é claro que se você está recebendo o tráfego e ele está usando todas as instâncias você tem isso configurado para, em seguida, eles vão usar a memória em conformidade .

Note que não estamos usando Ruby Enterprise Edition em nossos configuração ainda (principalmente porque ele ainda não está disponível na Engine Yard), mas ainda estamos vendo um menor consumo de memória. Memória foi o motivo inicial superior que fez a mudança, mas existem outros benefícios, como mais rápido e configuração mais fácil para escalar para cima ou para baixo, e assim por diante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top