2012-05-11 14 views
17

Quiero alojar un sitio web estático en Heroku, pero no estoy seguro de cuántos dynos comenzar.¿Cuántas dynos necesitarían para alojar un sitio web estático en Heroku?

Dice en esta página: https://devcenter.heroku.com/articles/dyno-requests que la cantidad de solicitudes que puede realizar un dyno depende del idioma y del marco utilizado. Pero también he leído en alguna parte que 1 dyno solo maneja una solicitud a la vez.

Un poco confundido aquí, ¿debería bastar 1 web dyno para alojar un sitio web estático con tráfico muy pequeño (< 1000 vistas/mes, < 10/hora)? ¿Y cómo haría para estimar el uso adicional de dynos a medida que el tráfico comienza a aumentar?

Espero que haya formulado mi pregunta correctamente. Realmente agradecería su entrada, gracias de antemano!

+4

¿Por qué alojaría un sitio estático con Heroku? Parece que obtendrías más por tu dinero con Amazon S3 o un host compartido o algo así. –

+0

@ brendan-long, ¿puedes explicar cómo/por qué? ¿O un enlace a alguna fuente donde puedo obtener más información? – Gbert90

+0

Heroku está diseñado para sitios web dinámicos y tiene un precio acorde. Cada dyno es ~ $ 35/mes, y es básicamente un hilo haciendo lo que quieras.Por el mismo precio, Amazon S3 transferirá 300 GB de archivos por usted (lo más probable es que el precio de almacenamiento sea insignificante para usted), y lo hará tan rápido como desee (sin limitarse a un hilo). Básicamente escalará mucho mejor y será más barato también. –

Respuesta

48

Un poco molesto porque tuve una respuesta perfectamente válida eliminada, pero aquí hay otro intento.

Los dynos de Heroku son de rosca simple, por lo que son capaces de manejar una sola solicitud a la vez. Si tuviera una página dinámica (php, ruby, etc.), entonces vería cuánto tarda una página en responder en el servidor, digamos que tardó 250 ms en responder y que un solo dinamómetro podría lidiar con 4 solicitudes por segundo. Agregar más dynos aumenta la concurrencia NOT rendimiento. Entonces, si tienes 2 dinnos, en este escenario podrás lidiar con 8 solicitudes por segundo.

Dado que solo está hablando de páginas estáticas, su tiempo de respuesta debería ser mucho más rápido que este. La mejor manera de identificar si necesita más es mirar su salida de registro heroku y ver si ha mantenido niveles del valor de 'cola'; esto significa que los dynos no pueden mantenerse al día y las solicitudes están en cola para su procesamiento.

+0

¡Gracias por su intento n. ° 2! ¡Esta fue una respuesta bien escrita! – Gbert90

+0

¡Gracias por una respuesta tan buena y bien escrita! ¡Tienes un don para explicar cosas complicadas de una manera simple de entender! –

+0

muy bien explicado, he pasado mucho tiempo tratando de entender cómo funcionan los dynos. Thx – levi

3

Como la mayoría de los HTTP 1.1 clients will create two TCP connections al servidor web al solicitar recursos, tengo la corazonada de que obtendrá un mejor rendimiento en clientes únicos si inicia dos dinnos, de modo que las solicitudes de recursos del cliente también se pueden gestionar.

Deberá decidir si vale la pena el dinero extra para el rendimiento (potencialmente ligero) de un solo cliente.

Si alguna vez prevé que varios clientes soliciten información a la vez, entonces probablemente querrá más de dos dynos, solo para asegurarse de que al menos uno esté disponible para clientes adicionales.

3

En esta situación, si se queda con un dinamómetro. El primero es gratis, el segundo te pone por encima del mínimo mensual y comienza a generar costos.

Pero, también debes darte cuenta con un dinamómetro en Heroku, la aplicación se dormirá si no se ha accedido recientemente (creo que esto es alrededor de 30 minutos). En ese caso, puede tardar de 5 a 10 segundos en despertar nuevamente y puede brindar a sus usuarios una experiencia inicial muy lenta.

Hay servicios web que harán ping a su sitio, probando su respuesta y manteniéndolo despierto. http://www.wekkars.com/ por ejemplo.

+0

Este es de hecho un problema importante con los dinamómetros individuales. Pude resolverlo con el complemento new-relic (https://addons.heroku.com/newrelic) en heroku, que (en la versión gratuita) te da la capacidad de hacer ping y también estadísticas de uso para comprobar si tu cola está recibiendo demasiado alto y necesitas más dynos. – syonip

+0

Ahora uso runscope para esto. Lo he estado usando para hacer ping y probar resultados de un servidor externo. Funciona de maravilla para mantener la aplicación viva. – Swards

Cuestiones relacionadas