Creé dos aplicaciones de Heroku muy simples para probar el servicio, pero a menudo toma varios segundos cargar la página cuando las visito por primera vez:
- Cropify - Aplicación básica de Sinatra ( en github )
- Textile2HTML - Aplicación Sinatra aún más básica ( en github )
Todo lo que hice fue crear una aplicación Sinatra simple e implementarla. No he hecho nada para alterar o probar los servidores de Heroku. ¿Qué puedo hacer para mejorar el tiempo de respuesta? Es muy lento en este momento y no estoy seguro de por dónde empezar. El código de los proyectos está en github si eso ayuda.
ruby
performance
heroku
Lance Pollard
fuente
fuente
También es posible que desee investigar las opciones de almacenamiento en caché que tiene en Heroku w / Varnish y Memcached. Estos se conservan independientemente de los dinámicos.
Por ejemplo, si tiene una página de inicio que no cambia, puede almacenarla en caché durante períodos prolongados en Varnish agregando encabezados de Cache-Control a la respuesta. Entonces, sus usuarios no experimentarán el impacto de la carga hasta que quieran "hacer algo" en lugar de cuando lleguen.
fuente
Debería consultar la respuesta de Tom Robinson a "Escalabilidad: ¿Cómo funciona Heroku?" en Quora: http://www.quora.com/Scalability/How-does-Heroku-work
Heroku divide los recursos del servidor entre muchos clientes / aplicaciones diferentes. A tu aplicación se le asignan bloques de potencia informática. Particiones de Heroku basadas en la demanda de recursos. Cuando tiene una aplicación popular que demanda más potencia, puede pagar por más 'dynos' (contenedores de aplicaciones) y luego obtener una porción más grande del pastel a cambio.
Sin embargo, en su caso, está ejecutando una aplicación gratuita que pocas personas, si es que hay alguna fuera de usted, visitan / usan. Por lo tanto, Heroku reduce los recursos que está obteniendo al descargar su aplicación, poniéndola esencialmente en hibernación, hasta que se realiza una solicitud a su dirección. Cuando eso sucede, y su aplicación ha estado inactiva durante mucho tiempo, se necesita tiempo para volver a cargar.
Agregue 1 dinamómetro adicional para evitar que su aplicación se quede dormida, si ese tiempo de recarga es importante.
fuente
Estoy teniendo el mismo problema. Implementé una aplicación Rails 3 (1.9.2) anoche y es lento. Sé que 1.9.2 / Rails 3 está en BETA en Heroku, pero el ticket de soporte decía que debería estar bien usando algunas instrucciones que me enviaron.
Entiendo que la primera solicitud después de mucho tiempo lleva más tiempo. Tiene sentido. Pero simplemente cargar páginas que ni siquiera se conectan a una base de datos en 10 segundos a veces es bastante malo.
De todos modos, es posible que desee probar lo que voy a hacer. Ese es el perfil de mi aplicación y ver cuánto tiempo tarda localmente. Si está tardando 400 ms, entonces algo anda mal. Pero si obtengo 50 ms localmente y todavía me toma 10 segundos en Heroku, entonces definitivamente algo está mal.
Obviamente, el almacenamiento en caché ayuda, pero solo obtiene 5 MB gratis y, una vez más, con UNA persona usando el sitio, no debería ser tan lento.
fuente