JavaFree.org | RubyOnBr.org

Lentidão no servidor web (locaweb)

Acompanhar Lentidão no servidor web (locaweb) 11 posts, 10 participantes

Avatar Cleber Tavares Jr. 121 posts

Olá,

Instalamos uma aplicação na locaweb, está ok, mas eu notei que toda vez que alguém acessa a aplicação pela primeira vez depois de um certo tempo (isso acontece muito por enquanto em desenvolvimento, a gente coloca lá, testa e ela fica “abandonada” por uns dias até nova rodada de deploy e testes) ela demora um bom tempo (alguns segundos) até responder, como se estivesse “dormindo”, depois disso fica normal até passar um tempo de novo (horas, um dia, sei lá…)

Isso é normal?

 
Avatar pestana 350 posts

Verifica se é ciado o arquivo em tmp/restart.txt, Esse arquivo é utilizado para fazer um refresh na sua app.

[]`s

Pestana

 
Avatar Cleber Tavares Jr. 121 posts

hum, desculpe, não entendi… verificar se este arquivo é criado? Como assim, se ele está lá permanentemente?

 
Avatar pgallotta 35 posts

Engraçado, tenho o mesmo problema no site asp.net aquí da empresa.

 
Avatar nofxx 1960 posts

http://www.modrails.com/documentation/Users%20guide.html#PassengerPoolIdleTime

Ve se ajuda…

 
Avatar eduardo_resende 24 posts

Acontece a mesma coisa com a minha aplicação e é o lance que o nofxx falou mesmo…

O estranho é que o suporte da locaweb ou nao conhece isso ou finge nao conhecer. Eles ficam falando pra voce estudar cache e falando que nao tem nada de errado na aplicação.

Podiam aumentar esse idle time ou entao avisar que o problema é esse.

 
Avatar wmalheiros 172 posts

@cleber

Vc tá sendo muito bonzinho em dizer “alguns segundos” né?

O meu aplicativo na locaweb abre com quase 40 segundos de espera. O cliente quase teve um tanguá. Hospedei o mesmo aplicativo na conta de um colega meu na teHospedo e o mesmo abriu com 3 segundos. Só estou esperando resolver alguns detalhes com o cliente aqui para mudar para a teHospedo. Abri um chamado na locaweb e os mesmos disseram que o problema é na minha rede. Tenho uma internet de 10 Mb em casa… na empresa são 8Mb… fora outras pessoas que pedi para abrirem o soft em diversos estados diferentes… tudo a mesma coisa, sempre abre depois de 30 segundos. Fui orientado pelo suporte a chamar uma pessoa especializada para consertar minha rede. Imaginem uma situação dessas hehehehehe.

Locaweb = negação

Sucesso!

 
Avatar c4r105x 88 posts

Galera, tive o mesmo problema com a Locaweb, e o melhor de tudo, minha aplicação só tinha 2 arquivos html, imagina só quando eu colocar alguma programação, hummm, ia ficar bonito.

O servidor de e-mail deles é uma negação. Eu tinha o servidor de e-mail em minha rede local, eu mesmo mantinha ele, mas como estava ficando sem tempo, resolvi migrar para locaweb, ( puxa, até estavam querendo abrir capital na bolsa, ai pensei, ninguém melhor que eles né. ) arrependi amargamente, fiquei 2 meses na peleja e não resolvi, então migrei novamente para minha rede local e nunca mais tive problemas.

Voltando no assunto do Ruby on Rails, o melhor é o teHospedo, é fácil o deploy, o suporte é rápido e o melhor de tudo, eles resolvem.heheheh.

Hoje não indico a locaweb para ninguém, nem se for um simples html.

Valeu, foi só um desabafo.

 
Avatarkxu Hashi 46 posts

email locaweb ninguem merece… locaweb de uns anos pra cá caiu muito em qualidade.
para hospedagem rails eu já usei o RailsPlayground, o desempenho da aplicação é até razoavel pelo menos no meu caso mas é internacional.

 
Avatar Akita On Rails 298 posts

Explicando o comportamento, o Passenger funciona assim: cada request que chega ao servidor Apache cai no Passenger, que primeiro checa se não existe um arquivo estático que responda à URL, senão envia à sua fila. Esta fila se comunica com o “spawner”. Se já existir um processo de pé, ele envia para ele, que executa o Rails e devolve a resposta. Se não existir nenhum processo de pé, o spawner levanta um. Esse processo fica de pé por algum tempo, mas se ficar idle por algum tempo o spawner mata ele. É um jeito de otimizar o uso de memória do servidor e é um comportamento padrão do Passenger.

Agora, a aplicação precisa seguir algumas boas práticas. Uma delas é garantir que as actions não façam coisas muito pesadas. Por exemplo, uma action que faz um SELECT * numa tabela grande, não é o tipo de coisa que deve ficar numa action. Isso deveria ir para uma tarefa assíncrona (como um cronjob). Quanto menos coisa uma action fizer, melhor. Outra coisa, nunca suba uma aplicação explicitamente rodando em ambiente de development (por exemplo, colocando no environment.rb um ENV[‘RAILS_ENV’] = ‘development’). Já vi algumas pessoas fazendo isso porque querem que quando algo for modificado diretamente no servidor ele seja imediatamente recarregado. Isso é lento, sempre vai ser. Em modo de ‘production’ (que é o que o passenger carrega por padrão) as classes e tudo mais são carregadas apenas uma vez. Em modo development tudo fica dramaticamente mais lento. Em vez disso, não faça modificações direto em produção e, quando fizer, crie o arquivo tmp/restart.txt para o passenger recarregar suas modificações.

Aplicações lentas normalmente tem a ver com: carga de ambiente development; não uso de caches (usar os mecanismos de cache do Rails aumenta dramaticamente a responsividade); actions pesadas demais (que fazer muita coisa especialmente com dados do banco); carga de gems/plugins desnecessárias.

Para verem um exemplo chequem meu blog: http://www.akitaonrails.com. É uma aplicação Rails, que usa page caching, e raramente tem problemas. Ele está numa conta de hospedagem compartilhada.

 
Avatar eLF 168 posts

Akita, deixa eu ver se entendi, esse processo que fica em pé por algum tempo, e se ficar idle ele eh “morto”, seria esse tempo em que ele esta em pé no qual a aplicação/site eh acessada mais rapidamente? Se sim, esse tempo nao pode ser maior ou algo assim… ? OBrigado