MarcosBL
28/10/2008, 14:41
Yo apoyo la soluciónm de JarFil, yo en mi caso lo tengo montado asi:
SERVER 1: Squid sólo como cache en el 80 + Servidor Apache en el 81
SERVER 2: Base de datos de la que se alimenta el Apache de SERVER 1
Si en el futuro quieres crecer, añades servidores de Web que pueden atacar a la misma BD o a varias sincronizadas, por ejemplo en la forma (exagerando bastante):
SERVER 1: Squid sólo como cache en el 80 pidiendo alternativamente páginas a SERVER 4, SERVER 5 y SERVER 6
SERVER 2: Base de datos MySQL Master
SERVER 3: Base de datos MySQL Slave sincronizada con SERVER 2
SERVER 4: Base de datos MySQL Slave sincronizada con SERVER 2
SERVER 5: Apache que se alimenta de la BD de MySQL de SERVER 2
SERVER 6: Apache que se alimenta de la BD de MySQL de SERVER 2
SERVER 7: Apache que se alimenta de la BD de MySQL de SERVER 3
SERVER 8: Apache que se alimenta de la BD de MySQL de SERVER 3
SERVER 9: Apache que se alimenta de la BD de MySQL de SERVER 4
SERVER 10: Apache que se alimenta de la BD de MySQL de SERVER 4
etc...
De todas formas, sólo con Squid sirviendo caché, y eliminando por tanto procesos PHP y consultas a la BD probablemente te bastase con un sólo server, aunque lo ideal para empezar sería el setup de Squid + Apache en 1 y BD en otro, sobre todo si es un foro, donde todas las páginas son "personalizadas" para el usuario que está autentificado, y por tanto no se pueden cachear, ahi Squid sólo ayudaría para servir páginas a Invitados y Bots (que tampoco es moco de pavo).
Te recomendaria también montar un media.tudominio.com apunatndo a un Lighttpd, que sirve contenido estático mucho más rápido aún que Squid o Apache, y servir desde ahi todos los js, css e imágenes, dejando Apache y Squid sólo para "la chicha pesada", que es servir PHP.
Como ejemplo, lighttpd me sirve contenido estático gif a razón de 15000 peticiones por segundo, Squid sobre 1200 y Apache alrededor de 6000.
Asi que para mi:
PHP + consultas a MySQL - Que se encargue Apache y lo cachee Squid cada, por ejemplo, 5 minutos.
Imágenes, CSS, JS: Lighttpd sirviendo sólo contenido estático.
Carga de la BD: Con Squid reduces muchísimo la carga. aún asi, para los usuarios "autentificados", que consumen muchas consultas debido a que no son páginas "cacheables", separar Apache en una máquina y MySQL en otra, otra PEPINO se entiende.
Tambien puedes mirarte como servidor Web/Cache nginx, el pequeño desconocido que es servidor web y squid todo en uno y que últimamente se está comiendo con patatas en todos los benchmarks a Apache, Lighttpd y Squid juntos.
Ahora que releo lo puesto... espero no haberte liado más que ayudado... :_(
SERVER 1: Squid sólo como cache en el 80 + Servidor Apache en el 81
SERVER 2: Base de datos de la que se alimenta el Apache de SERVER 1
Si en el futuro quieres crecer, añades servidores de Web que pueden atacar a la misma BD o a varias sincronizadas, por ejemplo en la forma (exagerando bastante):
SERVER 1: Squid sólo como cache en el 80 pidiendo alternativamente páginas a SERVER 4, SERVER 5 y SERVER 6
SERVER 2: Base de datos MySQL Master
SERVER 3: Base de datos MySQL Slave sincronizada con SERVER 2
SERVER 4: Base de datos MySQL Slave sincronizada con SERVER 2
SERVER 5: Apache que se alimenta de la BD de MySQL de SERVER 2
SERVER 6: Apache que se alimenta de la BD de MySQL de SERVER 2
SERVER 7: Apache que se alimenta de la BD de MySQL de SERVER 3
SERVER 8: Apache que se alimenta de la BD de MySQL de SERVER 3
SERVER 9: Apache que se alimenta de la BD de MySQL de SERVER 4
SERVER 10: Apache que se alimenta de la BD de MySQL de SERVER 4
etc...
De todas formas, sólo con Squid sirviendo caché, y eliminando por tanto procesos PHP y consultas a la BD probablemente te bastase con un sólo server, aunque lo ideal para empezar sería el setup de Squid + Apache en 1 y BD en otro, sobre todo si es un foro, donde todas las páginas son "personalizadas" para el usuario que está autentificado, y por tanto no se pueden cachear, ahi Squid sólo ayudaría para servir páginas a Invitados y Bots (que tampoco es moco de pavo).
Te recomendaria también montar un media.tudominio.com apunatndo a un Lighttpd, que sirve contenido estático mucho más rápido aún que Squid o Apache, y servir desde ahi todos los js, css e imágenes, dejando Apache y Squid sólo para "la chicha pesada", que es servir PHP.
Como ejemplo, lighttpd me sirve contenido estático gif a razón de 15000 peticiones por segundo, Squid sobre 1200 y Apache alrededor de 6000.
Asi que para mi:
PHP + consultas a MySQL - Que se encargue Apache y lo cachee Squid cada, por ejemplo, 5 minutos.
Imágenes, CSS, JS: Lighttpd sirviendo sólo contenido estático.
Carga de la BD: Con Squid reduces muchísimo la carga. aún asi, para los usuarios "autentificados", que consumen muchas consultas debido a que no son páginas "cacheables", separar Apache en una máquina y MySQL en otra, otra PEPINO se entiende.
Tambien puedes mirarte como servidor Web/Cache nginx, el pequeño desconocido que es servidor web y squid todo en uno y que últimamente se está comiendo con patatas en todos los benchmarks a Apache, Lighttpd y Squid juntos.
Ahora que releo lo puesto... espero no haberte liado más que ayudado... :_(