¿Cuáles son las especificaciones recomendadas del servidor en la nube para una respuesta web más rápida?

Realmente no me preocupo por eso … Si el sitio web o el host cráteres, solo le arrojo más memoria o más caballos de fuerza … ¡o ambos!

En la nube está negociando x cantidad de memoria y x número de procesadores como si hubiera alquilado un servidor con esas especificaciones. Los equilibradores de carga intervienen para asegurarse de que obtenga lo que negociaba y, a menudo, obtenga más.

Entonces, si tiene páginas grandes, documentos grandes e imágenes grandes, probablemente querrá más memoria. Si tiene una gran carga de contenido más pequeño, es posible que necesite un poco de memoria adicional y mucha más potencia.

¡Siempre recomiendo el almacenamiento en caché, CloudFlare y un CDN como KeyCDN!

CloudFlare lo beneficia de una manera al distribuir lo que sus servidores ya han producido una vez a través de una red muy sólida que funciona mejor que la mayoría de las instancias individuales de Cloud Server.

Un CDN discreto le quita parte de la carga de contenido a su host de inmediato y el almacenamiento en caché pone gran cantidad de contenido listo sin más procesamiento, lo cual es importante con las páginas dinámicas.

CloudFlare también le brinda un servicio DNS extremadamente robusto y más seguro.

A diferencia de lo que muchos han dicho, es poco probable que enfrente problemas de equilibrio de carga como desarrollador web en ciernes, ya que probablemente todavía esté trabajando en proyectos de prueba y usuarios pequeños, por lo que diría que aprenda algunos trucos para optimizar su código, estos son algunos de mis argumentos.

  • Asegúrese de que sus archivos CSS y JS de producción estén ocultos y que el servidor los envíe comprimidos, esto reduce mucho los tiempos de respuesta, el tiempo hasta el primer byte, etc.
  • Optimice las imágenes correctamente, en serio, las imágenes jpeg / png de tamaño no optimizado y bien hecho hacen mucho daño a los tiempos de carga de la página, la investigación de herramientas como jpegoptim, pngquash, etc.
  • Intente tanto como sea posible para establecer el ancho / alto en las etiquetas img, para evitar que el navegador tenga que volver a calcular la dimensión necesaria y luego escalar hacia arriba o hacia abajo. Esto aumenta el tiempo de renderizado y podría causar repintar artefactos, etc.
  • Pruebe y minimice el uso de archivos de fuentes externas pesadas.
  • Asegúrese de que su servidor web ejecute uno si los muchos mecanismos de almacenamiento en caché como memcache, etc. Le ayudan.
  • Trate de no alojar demasiado con compañías que sobrecarguen sus servidores (hablando de alojamiento compartido aquí) leyendo reseñas sobre compañías antes de registrarse para obtener una mejor información.
  • Minimice el uso de bibliotecas (JS / CSS), verá sitios que incluyen jquery / dojo / prototype, etc. solo en una página que solo costará algunos problemas de carga graves, algunas cosas insignificantes no necesitan ser delegadas a las bibliotecas, a veces escribiendo su propio código sería mejor
  • Uhm no modifique el código de producción, solo introducirá más errores, siempre debe tener copias locales donde implemente nuevas cosas o depure y pruebe a fondo antes de avanzar.
  • Ruta crítica y recursos de bloqueo de renderizado (CSS + JS), Uhm demasiado largo para entrar aquí, pero investiga sobre eso
  • Evite los redireccionamientos 301 cuando sea posible
  • use HTTP / 2 SI ESTÁ DISPONIBLE / APLICABLE

PD

Sé que dijiste las especificaciones del servidor en la nube, pero para una aplicación web de 1000 DAU, incluso un buen plan de alojamiento compartido serviría, así que dudo que sean las especificaciones de tu servidor

Depende de dónde estén sus cuellos de botella. Tal vez pueda hacer una prueba de esfuerzo para identificar dónde su aplicación es la más lenta. Además, si todavía no lo ha hecho, configure algún tipo de caché, indexe su base de datos y controle las especificaciones de su servidor (CPU, memoria, descifradores de archivos, espacio en disco) si es posible.

No solo amplíe su servidor sin saber por qué. Probablemente sea una forma muy costosa y peligrosa de lidiar con el tráfico. Vas a gastar más dinero ya que estás pagando por cosas que no necesitas y algún otro día volverás a caer en el techo donde tienes 32 núcleos de CPU donde solo necesitas indexar tu base de datos o configurar el almacenamiento en caché en el primer lugar.

Entonces, mi sugerencia es que primero identifique sus cuellos de botella.

Hice una serie de tutoriales tanto en pruebas de estrés como en equilibrio de carga (con caché) para que pueda consultarlos si lo desea.

Balanceo de carga con Nginx: Balanceo de carga con Nginx

Pruebas de estrés: pruebas de estrés – YouTube