Buenas a todos, el foro va un poco lento últimamente cuando hay picos porque el servidor de base de datos está swapeando memoria, ya que la base de datos es muy grande, y el motor xtradb de percona necesita memoria adicional, a lo largo de mañana se aprovisionará memoria extra. Hay que parar el servidor, poner la memoria y volver a arrancar. No debería llevar más de 5 minutos.
Podrías publicar la infraestructura del foro para los que nos gustan estos temas.Cuantos servidores frontend, cuantos de base de datos... el hardware de cada uno, el balanceador, si se usa algún CDN para el contenido estático... no sé, esas frikeces que nos gustan XD
No pongo diagramas que luego los hackeos me toca arreglarlos a mi No hay mucha tecnología detrás de esto, debido a que nuestros recursos son limitados la gracia está en tratar de hacer que vaya rápido con el poco hardware disponible. Hay 3 servidores, uno para el frontal (dual dual xeon con 8GB y scsi 15krpm), uno de base de datos (dual dual xeon e-5130 con 8GB y scsi 15k rpm bastante viejo) y uno pequeñito para las búsquedas (xeon con 2GB de memoria y discos de 10krpm). En el frontal hay montado un nginx como proxy inverso de apache así me olvido de ataques slowloris y mierdas similares. nginx sirve el contenido estático, apache sirve el contenido dinámico a través de php-fpm. A su vez los js e imagenes se sirven desde servidores CDN de netdna repartidos por el mundo. Luego todos los archivos se compilan con un opcode cache (xcache) En el servidor de base de datos, hay Percona con motor xtradb en vez de mysql e innodb, este es el servidor que tiene la controladora de discos más rápida, por eso está ahí la base de datos, y está tuneada al máximo de recursos 75% de memoria del sistema y aprovechamiento de multicores, con insert delayed y transacciones diferidas. En el servidor de búsquedas está montado un motor lucene que comparte queries con el servidor de base de datos a través de memcached. Para muchas de las tareas pesadas del foro he partido los php en trozos y los ejecuto via cron. Lo ideal sería tener un servidor extra frontal y hacer un round robin dns y uno adicional para hacer un slave de percona pero no hay pasta para eso.
Gracias por la explicación Danny! Veo que el servidor de correo para el dominio también está en el mismo frontend, eso restará recursos disponibles para la disposición de las páginas. Igualmente por el tema de costes Acens debe ser caro de por sí, no habéis mirado alternativas más baratas?
El frontal va sobrado la verdad, y el correo es un relay cerrado que solo se usa via función mail de php no hay cuentas de correo. Está en acens porque todo lo tenía con Ferca donde mi amigo David Carrero, pero tenemos un buen precio
Ahh ok, si hay precio "amigo" es otro tema... por Acens no se caracteriza por ser barata por norma general!
Lo que es una pena es que no se pueda usar un único servidor ( quizás ahorrarías costes en concepto de hosting ) con una solución de virtualización "gratuita" como ESXi 5.1... Nosotros en el curro hemos conseguido ahorros de mas de un 60% en concepto de "collocation" reusando HW que se había sobredimensionado... ( aunque aqui veo que está bastante justa la cosa... ). Saludos. PD:... me encanta la imágen del capitán Pickard... describe a la perfección lo que ocurre cuando intentas hacer un mantenimiento y siempre hay alguien ( sea la hora que sea y aunque hayas avisado mil veces ) y PD2:... como siempre... buen curro y una paliza soberana (que no se ve.. ) para mantener el foro en marcha
La verdad es que estoy certificado en ESX he tenido unos 30 servidores ESX en cluster, jajaja era cojonudo, se caía uno y se levantaban todas las máquinas en otro y muchas veces ni te enterabas, en nuestro caso el maquinón que habría que montar para replicar los 3 servers actuales, más los 2000€ de licencia no lo justifican. Aparte que en nuestro caso las máquinas nunca entran en idle porque siempre hay gente conectada, osea que por esa vía creo que costaría bastante más pasta. ESX compensa siempre que tengas recursos sobredimensionados o muchos servidores pequeños, en ese caso el ahorro es brutal, tanto en recursos humanos como en recursos físicos.
@Danny de esos Xeon tengo yo aquí en la empresa.10 añitos o así tienen.Si alguna otra vez necesitas ram, si hay alguno que haya muerto aquí miro a ver que hay... porque supongo que serán HP Proliant 360-380.... salu2
Hola Danny, Creo que estáis exprimiendo los limitadísimos recursos que tenéis de una forma brutal y super inteligente. Yo trabajo en un entorno más grande y hablo con conocimiento de causa. Enhorabuena y gracias por todo este trabajo.