En Meristation.com tenemos un único problema con los servidores que venimos arrastrando desde hace un año y medio, fecha en que estrenamos un completo desarrollo en asp.
El problema es que los servidores web, en cualquier momento, no tiene porque ser a la hora de más afluencia de público, empiezan a acumular usuarios (sesiones), hasta que en pocos minutos se ponen en 500 sesiones y el servidor se queda cuajado en error 500.
Nuestra estructura es: 2 Máquinas con doble procesador y 1 GB de memoria con Windows NT4 como servidores web con IIS balanceadas. 1 máquina con 4 procesadores con 2 GB de memoria con Windows 2000 para SQL 1 máquina con NT4 para el mantenimiento de los redactores 1 filer donde se guardan las imágenes Descartamos problemas en el SQL dado que cuando 1 máquina acumula usuarios, se puede acceder perfectamente por la otra y al mantenimiento de contenidos desde la máquina de mantenimiento a pesar de que todas dependen del mismo SQL.
La carga de SQL se mantiene tanto a nivel de memoria como de procesador a niveles aceptables, por debajo del 50% la mayor parte del tiempo. Las dos veces que hemos intentado migrar una de las máquinas servidores web a Windows 2000, a parte de que nos ha costado mucho configurarlas para que funcionaran sin problemas mientras que en NT4 tal como las instalamos desde cero el web prácticamente funciona al completo, lo que sucede es que de entrada ya nos acumulan más usuarios que los que acumula el NT4. Si en horas bajas suelen haber 50 usuarios por máquina, en W2000 se nos pone a 180 - 200, y en horas altas que suele haber 150 sesiones simultáneas en NT4, en W2000 suele haber casi 300 o más.
Por ese motivo hemos hecho marcha atrás y hemos vuelto al sistema de Nt4 en los dos servidores. Se han hecho pruebas de esfuerzo en la red que une los servidores web con el SQL e incluso se ha puesto cada servidor en una red distinta y tampoco hemos conseguido quitarnos el problema de encima. Los desarrollos se han optimizado al máximo, creemos, utilizando índices en todas las tablas, procedimientos almacenados en la mayoría de consultas, se han reducido al mínimo las consultas al SQL uniendo varias en una para evitar abrir y cerrar excesivas sesiones entre las máquinas y se utilizan varios caches parciales en las partes de las páginas que no es necesario una consulta de última hora al SQL.
También se han añadido varias comprobaciones en cada asp de comprobación de sesión activa, para descartar la petición en caso de que el usuario la haya desestimado.
De momento tenemos comprobado que los desarrollos (asp) funcionan a velocidades más que aceptables, aunque no se descarta que puede que haya algo muy concreto en algún desarrollo poco usado que sea lo que provoque la acumulación de usuarios. Si es así, en un año no lo hemos encontrado en la base de conocimiento de Microsoft. Entre las dos máquinas servimos una media de 600.000 páginas al día, lo que hace un total de 17.000.000 de páginas al mes.
Si no se nos cayeran las máquinas una o dos veces al día conseguiríamos crecer más y servir más páginas, al tiempo que tendríamos a los usuarios muchísmo más satisfechos. Estamos dispuestos a lo que sea (mientras esté a nuestro alcance) por quitarnos de encima este problema que tantos dolores de cabeza nos da y que no nos deja dormir algún que otro fin de semana.
Desde ya agradecido, Saludos, Pep Sánchez,