Servidores en proyectos de alto tráfico

Cuando tienes proyectos de alto nivel de tráfico ya no te queda más remedio que optar por servidores dedicados que puedas controlar directamente y estudiar su comportamiento en las horas puntas del día.

Si el tráfico sigue incrementándose entonces hay que cachear las páginas para evitar el exceso de consultas a la base de datos.

Pero si empezamos a tener todavía más visitas entonces tenemos que pensar en dividir la carga en diferentes servidores.

Normalmente en este caso se hace uso de un balanceador de carga que divide de la manera que tu programes la carga en los diferentes servidores que dispones, el costo de estos sistemas es bastante alto y rondan los 2000 euros mensuales en balanceadores con 4 servidores.

No obstante, tras consultar a diferentes expertos en servidores me han comentado que hay una manera intermedia de resolver este problema, esta es la de separar los archivos, imágenes, vídeos, … en un servidor y todo lo demás en el otro.

Otros expertos me han comentado que la mejor solución es instalar un servidor de caché y otro para todo lo demás.

¿que soluciones habéis optado vosotros?

19 comentarios en «Servidores en proyectos de alto tráfico»

  1. Pues tienes distintas opciones como pasarte por AWS, S3 para almacén de imágenes o levantar instancias para BBDD que suele ser lo mas rápido con auto-balanceador de cargas. Si quieres ver ejemplo de como Ricardo Galli lo realizó en Meneame y AWS: http://www.ustream.tv/recorded/4467973 y http://www.ustream.tv/recorded/4469862

    Otra alternativa barata sería separar web con su contenido por un lado y crear un solo servidor de BBDD para soportar todas las llamadas, aunque lo mejor es intentar optimizar todo, generando cache tanto para páginas como para ficheros.

    Un saludo.

  2. Hay otras opciones al balanceador, como el DNS round robin (es una solución de para el balanaceo de carga pero no para la alta disponiblidad), se puede usar en linux hartbit para balanacear una ip entre dos o mas servidores, o un reverseproxy con apache. todas estas opciones cuestan mucho menos de 2000 euros. y por supuesto no son las únicas opciones.

    saludos.

  3. Buenos días Pedro,

    Ambas soluciones pueden ser validas, el apartado multimedia puede ser un problema sobre todo por el ancho de banda consumido por el vídeo.

    Sobre el servidor de caché habría que estudiar que tipo de tecnología corren las webs pudiendo utilizar un lucene para java o memcache para php.
    Sobre el dinero,2000E/mes me parecen excesivos …
    Nosotros somos un ISP con gran experiencia en este tipo de plataformas.
    Tienes mi correo o puedes visitar nuestra web: http://www.icm.es

    Un saludo!

  4. La solución en la que yo pienso siempre es tener tanto contenido como sea posible en servidores externos -youtube, flickr- base de datos en un servidor, y lógica de la aplicación en otro, siempre con cacheos.

  5. Creo que una buena opción es Cloud Computing (concretamente la combinación de Amazon EC2 + S3)… Aunque no tengo experiencia con ellos y solo lo conozco de oídas, tengo entendido que muchos proyectos importantes americanos se están moviendo hacia ese tipo de servidores, ya que son escalables y más económicos que un servidor tradicional y son especialmente interesantes para proyectos en los que no tienes del todo claro el trafico que vas a tener… puedes incluso configurar los servidores para que algunos te funcionen solo determinadas horas al día (o que se pongan en marcha solo cuando los otros están saturados)… y solo te cobran por el número de horas en los que los tienes funcionando. Además Amazon divide por un lado los archivos (S3) y por otro el servidor (EC2)… por lo que la configuración está en línea con la configuración óptima que has comentado en tu post.

  6. Interesante artículo e interesantes respuestas, yo siempre he sido de cachear y optimizar la página hasta puntos insospechados, cuanto menos trabajo de BD y más optimizada esté, eso que ahorras al server.

  7. Yo tengo una estructura de 13 servidores, unos procesan php, otros procesan mysql, otros balancean carga, otros alojan imagenes, otros alojan archivos pesados (swf), etc.

    Aunque el paso siguiente que vamos a seguir es “la nube”, cloud computing.

    Actualmente ya guardamos backups en Amazon S3, pero estamos haciendo pruebas para alojar las imágenes allí.

    También estamos haciendo pruebas en phyton en Google Apps Engine para alojar allí la programación.

  8. Joder vaya nivelazo tios, que lastima no tener vuestros conocimientos, apenas se lo que es cachear mi web xD, y mira que muchas veces me peta el servidor con un error 500 :/, me pueden llegar a 100 peticiones aprox. en 5 minutos y ahi revienta…no es mucho trafico, pero bueno el servicio de hosting es el más basico…. cual es el precio justo por un servidor dedicado que pueda soportar una cantidad asi?

    Saludos y gracias

  9. Ferran, supongo que querrás decir que vas a tener las imágenes en AWS, pero no en S3, porque S3 la gran pega que tiene es su alto coste por cada conexión, por lo tanto si tienes muchos accesos como sería el caso de alojar imágenes el coste se te disparará. Supongo que vais a crear una instancia web donde solo se alojen las imágenes, no???

    Un saludo.

  10. Que os gusta ir a lo “cool”.

    Amazon AWS, S3 … es caro, de cojones, otra cosa, es que os cueste vuestra comodidad … un solo servidor (no excesivamente el mas alta gama) me vale para servir las 80K visitas únicas con unas 400.000 páginas vistas, corriendo en php + mysql y no sale mas de 500€ YA administrado. Para estáticos, hay soluciones realmente baratas

    @Pedro ¿2000€/mes por 4 servidores excesivo? ¿Sabes cuanto salen los nehalem? Pincha dos micros, 16Gbs de ram … si los sacas por menos de 500€/mes administrados, con una transferencia decente y “sin trucos” avisame 😉

    La clave del hosting, es la optimización en configuraciones tanto de apache (en mi caso) como de la base de datos, y sobre todos, la optimización de la aplicación web.

    Servidor dinámico configurado para ello, estáticos no necesariamente potentes (no tienen que procesar nada, solo servir) y un tandem para mysql maestro/exclavos no se debe de ir de madre, solo partirse algo la cabeza.

    @Ferran 13 para 400.000? Desde mi propia experiencia, lo veo excesivo (manejo tus mismas visitas únicas entre varias webs).

    Ahora, si os gusta el panel de amazon, y decir que “estáis en la nube” soltar pasta 😉

  11. buenas
    tengo mundisex.com y tengo problemas con el servidor
    me podeis recomendar algo servidor economico que pueda soportar gran cantidad de visitas

Deja una respuesta