NGINX la solución web para alto tráfico y súper velocidad

Si estás buscando una solución para los problemas velocidad con alto  tráfico en tu sitio web, entonces te contaré una experiencia que seguramente te podría funcionar para solucionarlos, se trata de mi experiencia con NGINX.

Estos días estuve experimentando mucho con NGINX, producto de la necesidad de un cliente de mejorar el rendimiento de su sitio web con más de 40 mil visitas diarias y WordPress + CloudFlare + S3 y otras prácticas de mejora de velocidad.

Los antecedentes del caso

Esta no era la primera vez que había utilizado esta herramienta, sin embargo su aplicación no había sido la misma, por eso decidí experimentar. Habiendo utilizado NGINX anteriormente, más bien como proxy reverso para aplicaciones Ruby on Rails, Django/Python y NodeJS, no fue tan complicado el cambio, pero si sorprendentes los resultados obtenidos.

El reto al que nos enfrentábamos

El sitio web de nuestro cliente se encuentra hospedado en uno de nuestros servidores con cPanel, así que había que encontrar un mecanismo de poner NGINX a funcionar en este ambiente. La solución que encontramos fue: “Engintron” y a continuación te voy a hablar de él.

Este plugin para cPanel, coloca NGINX como proxy reverso sobre Apache, aprovechando las capacidades de NGINX como caché de contenidos estáticos (HTML, CSS y JS), además de añadir un micro-caché adicional, que absorbe las subidas repentinas de tráfico (“spikes” o picos).

El proceso de instalación y configuración del plugin

La instalación fue muy sencilla, al igual que lo haces con cualquier otro plugin, y luego de instalado, disminuyó la “carga promedio” del servidor en un 45%. Inmediatamente, lo instalamos también en nuestros servidores compartidos (el anterior era dedicado), y la mejora fue aún mayor, de aproximadamente un 60% menos de tiempo de carga, es decir, los sitios cargaban mucho más rápido.

El único problema que encontramos en el proceso de configuración fue un bucle (“loop”) de redirecciones, causado por el uso de certificados SSL de CloudFlare en el servidor y su mecanismo “Flexible SSL”, pero lo resolvimos muy fácil, siguiendo las instrucciones en las “custom_rules” de Engintron, es decir, en las instrucciones de configuración incluidas en la documentación del plugin.

La solución consistió en colocar las IP compartidas de los servidores en la regla “set $PROXY_DOMAIN_OR_IP “aqui_la_ip_compartida”; y remover el símbolo “#” para “descomentar” la línea de código donde se encuentra esa instrucción.

¿Por qué elegir NGINX?

Elegimos usar NGINX porque solo o acompañado de Apache y Varnish (servidor de caché) es una poderosa herramienta que es capaz de darnos servicio como:

– Web Server de alto tráfico y desempeño.

– Proxy reverso, es decir redirigir el puerto 80 ó 443 (o cualquiera de ellos) a un puerto interno, como por ejemplo el 3000 que utiliza Puma (web server de Rails).

– Caché a disco ya que como webserver, nos brinda esta opción.

– Redireccionamiento de URL a otra URL, HTTP a HTTPS y más.

Ejemplos de uso

Todo esto suena muy bien (o quizás no tanto) pero para que puedas ver más claramente su funcionamiento, es bueno que conozcas algunos sitios que utilizan NGINX y compares su rendimiento con otros sitios web. Algunos de ellos son wordpress.com, duckduckgo.com, github.com, bitbucket.com, gitlab.com, casi todos los sitios de contenido para adultos que generan un alto tráfico.

Por supuesto que otro sitio web donde puedes ver aplicada esta tecnología es en nuestra propia web, www.servidoresrapidos.net, no te recomendaríamos algo que nosotros mismos no estamos utilizando y hayamos comprobado que realmente funciona.

¿Qué te pareció NGINX? ¿Te gustaría optimizar tu sitio web y mejorar su velocidad de carga?

Si quieres más información sobre nuestros otros planes y servicios diseñados para personas talentosas como tú, puedes contactarte con nosotros o dejarnos tu comentario en la parte de abajo de este post.

Imagen de geralt vía Pixabay.com bajo licencia creative commons.