Soluciones a una Saturación del Servidor

Cuando vuestros portales, webs o blogs empiezan a tener demasiado tráfico empiezan a venir los problemas, demasiadas consultas, demasiada carga de procesos, etc … tenemos que buscar la solución de manera eficiente.

Personalmente dividiría en dos tipos de solución:

1) Soluciones basadas en HARDWARE.

1.1 Adquirir un servidor más potente que pueda hacer frente a la multitud de consultas a la base de datos. Generalmente se busca servidores de gran capacidad en RAM.

1.2 Si nuestro tráfico se excede de lo común como es el caso de foros muy transitados o portales con más de 200.000 visitas diarias tenemos que optar por adquirir un balanceador de carga donde el procesamiento se divide entre varios servidores.

2) Soluciones basadas en Software.

2.1 Podemos migrar a un sistema gestor de bases de datos más potente que mysql, evidentemente si hemos usado un cms esa adaptación puede ser algo complicada.

2.2 Podemos cachear las páginas, el proceso consiste en guardar en un directorio las páginas que frecuentemente visitan los usuarios, entre ellas la home y las mas frecuentadas de modo que cuando otro usuario quiera acceder a esa página el servidor le mostrará la página que ha guardado en caché evitando tener que volver a ejecutar todas las sentencias y consultas a la base de datos. En wordpress os recomiendo (WP-Cache o 1 Blog Cacher)

VENTAJAS E INCONVENIENTES.

Evidentemente los inconvenientes de las soluciones basadas en Hardware son que necesitas equipos que cuestan bastante dinero mensual y además debes tener conocimientos para gestionar o migrar tus proyectos a los nuevos servidores. Las ventajas son que mejoras el tiempo de respuesta y que todos las consultas y comentarios son en tiempo real.

Los inconvenientes de cachear las páginas son que algunos comentarios o modificaciones en tu web puede quedar en espera hasta que la caché vuelva a refrescar esa página, no obtante es una solución más económica pese a que necesitas programar el proceso.

10 comentarios en «Soluciones a una Saturación del Servidor»

  1. Yo estuve cacheando las páginas mientras tenía mi proyecto en un servidor compartido. Lo malo era eso, que muchos resultados se quedaba obsoletos. Ahora llegaba la duda, cada cuanto borrar la cache para que se actualice? Pues probando y probando, llegué a la conclusión de que lo mejor era cada día por la noche a las 7 de la mañana. Espero que esto le valga a alguien 🙂

  2. Si el problema es la saturación, es decir el exceso de visitas, lo que yo haría es intentar rentabilizarlas de manera que pudiera pagar a uno de los grandes (posiblemente en los USA) para que me hospedara la web.

  3. No creo que haya ninguna formula mejor, depende de cada caso.
    Si es un sitio rentable las soluciones son diferentes a que apenas pague el hosting.
    tampoco es igual un foro que un blog donde muchas páginas pueden estar cacheadas ya que apenas se escriben comentarios en los post de días anteriores.
    Y si se usa algún cms incluso puede interesar reprogramarlo todo si el sitio es rentable.

    Incluso hay quien desvía el trafico a otros sitios si proviene de países que no son rentables.

  4. Creo que una combinación de las soluciones mencionadas es la “solución”: cachear la web (si se puede), reducir el número y el tamaño de las imágenes, optimizar el HTML y el CSS para reducir el tamaño de las páginas, eliminar JavaScript prescindible o buscar alternativos, bloquear todo el spam que se pueda con htaccess, redirigir las visitas de otros mercados con detección IP, y si todo eso no es suficiente, adquirir un servidor más potente o un balanceador de carga.

  5. Muy buen análisis, pero sobre el punto 2.1 de mysql es muy buen sistema, que en la mayoría de las aplicaciones este mal optimizado es otro asunto…

  6. Yo tengo 200.000 visitas dias y sigo con un solo server para mi web principal, eso si con 8 gb ram, es un Dual core xeon

    Lo principal es cachear, una cache que hagamos nosotros mismos con todo el HTML y la consulta, se borra de madrugada, de 5 a 8 am que es cuando menos trafico hay, y en las siguientes horas se va recacheando solo. tambien a la misma vez se puede emplear el eacelerator o similares.

    Poner mucho enfasis en los errores y monotirizar consultas pesadas, para ello zend studio

    Algo facil de hacer desde un principio, es las imagenes aparte de estar bien comprimidas desde un principio, es meterlo en un subdominio, asi en caso que haga falta , pasar ese subdominio a un server aparte

    Sobre todo tener a alguien que de verdad sepa administrar, esto ya lo aprendi yo muy bien, pago mas por cada server, pero la empresa eu tengo que es de España, le mando un sms, o los tengo por MSN o lo llamo por telefono y en un segundo me arreglan cualquier tipo de problema de la indole que sea, sin perder ni tiempo ni dinero

    Una web de 200.000 visitas al dia, 1 dia caido = a muchos euros que dejas de ganar

    Para nada aconsejo ni CMS ni Blog, a la hora de optimizar consultas y caches estas muy limitado, con lo cual lo unico es mejorar maquinas.

  7. Cuando llega la saturación muchas veces ni el cacheo te libra de buscar otras alternativas. Se pueden pulir muchas cosas antes de optar por un VPS o un servidor propio.

Deja una respuesta