O ambiente Rails leva muito tempo para iniciar a VM

1

Tenho minha base de código rails de desenvolvimento rodando em uma máquina virtual VirtualBox (servidor Ubuntu 9.10 de 64 bits) com a base de código montada como um compartilhamento (originalmente via SMB / CIFS mas agora como uma pasta compartilhada VirtualBox) da minha máquina host X 10.5.8).

O problema que estou tendo é que o estágio "loading environment" do bootstrap dos trilhos leva uma idade (60 segundos), e. ao iniciar o servidor, executando especificações, rake tasks ou script / console. A máquina virtual tem muita memória (512Mb, que costuma usar 40%).

Eu tenho algumas entradas do config.gem no meu arquivo de ambiente e removendo todas elas traz o tempo de início do script / console para 20 segundos, mas como isso gera erros devido a falta de coisas que eu não acho confiáveis.

Há algo que eu deveria estar olhando para melhorar o tempo de inicialização ou é algo com o qual terei que conviver para a minha aplicação mais ampla?

    
por DEfusion 07.01.2010 / 00:10

2 respostas

1

O Ubuntu 9.10 teve vários problemas desde o lançamento. Suspeito que a versão 9.10 foi um pouco apressada e ainda há algumas arestas. Eu tive problemas com uma imagem 9.04-9.10 VMWare que eu atualizei, após o qual não encontrei som, inicialização embaralhada -time video, e outros comportamentos estranhos (e sim, atualizei os drivers vmware). Programas que rodaram bem no 9.04 se recusaram a ser lançados no 9.10, ou se comportariam de maneira estranha. Em contraste, minhas imagens 9.04 continuam funcionando bem.

Existe alguma maneira de migrar a instalação para o 9.04 para testes e, em caso afirmativo, ela é executada normalmente lá? Pode ser simplesmente um bug (ou uma série de bugs) à espreita na 9.10 que está causando o problema. Além disso, existe uma diferença de versão para a instalação do Ruby que você está usando?

    
por 07.01.2010 / 00:26
0

60 segundos é ridículo para uma inicialização do aplicativo Rails. Até os monstros com os quais luto chegam em 2-3 segundos. Eu não tenho nenhuma recomendação específica (embora o encanamento italiano que você montou não esteja ajudando - talvez faça o trabalho corretamente e implante na VM via Capistrano?), Mas não é difícil observar o sistema enquanto o aplicativo é inicializado e funciona onde está o gargalo. Eu escrevi um longo artigo para trabalhar em encontrar e corrigir gargalos nos sistemas , ele vai te dar algo para fazer por um tempo, de qualquer maneira.

    
por 07.01.2010 / 01:52