Pregunta

Me gustaría preguntarle cuál es la mejor configuración para una aplicación siguiente:

Sitio web ASP.NET 3.5: utilizado como capa de presentación, muchos AJAX y JS. No afectará mucho al servidor.

ASP.NET WCF: servicio que proporciona todos los datos a la aplicación. Es responsable de la validación, modelado / preparación de datos y comunicación con el servidor DB.

Base de datos: SQL Server 2005 Std, cierta lógica se codifica en el lado del servidor como procedimientos almacenados. Parte de la lógica puede llevar un poco de tiempo. En mi opinión, es la parte de la aplicación que consume más recursos.

El sitio web puede tener hasta 1000 usuarios por minuto. Podemos tener hasta 4 servidores en la siguiente configuración: Intel Bi Xeon Quad 8x 2.00+ GHz, 16 GB de RAM, SSD o unidades RAID.

¿Cuál es la mejor manera de colocar partes de la aplicación en los servidores físicos? ¿Manejarán este tipo de carga?

¿Fue útil?

Solución

En la aplicación que describe, sospecho que la gestión de subprocesos será un gran problema. Lanzar hardware al problema puede no ser el mejor enfoque.

En términos de particionamiento, depende de si puede aprovechar cosas como el almacenamiento en caché y las notificaciones de caché. Si cada llamada a la aplicación tiene que llegar a la base de datos y ejecutar un procedimiento almacenado prolongado, entonces es posible que desee tener más máquinas de base de datos y menos servidores web front-end.

Este es un gran tema. En un intento de proporcionar una respuesta razonablemente completa a exactamente este tipo de pregunta, terminé escribiendo un libro al respecto: Ultra-Fast ASP.NET: cree sitios web ultrarrápidos y ultra escalables con ASP.NET y SQL Server .

Otros consejos

El lugar menos escalable en cualquier aplicación es el servidor de base de datos, puede agregar más servidores web y de aplicaciones, pero no puede replicar DB con la misma facilidad, por lo que se beneficiará a largo plazo si DB no contiene ninguna lógica, especialmente alguna lógica de larga duración. En muchas aplicaciones, el factor limitante no es la CPU, pero la memoria piensa en las sesiones de usuario si almacena 1 mb de datos por usuario, sus aplicaciones podrán admitir 64,000 sesiones de usuario de silmantanius con sus máquinas, puede ser suficiente o no. Ambos problemas pueden mitigarse utilizando el almacenamiento en caché a nivel de aplicación, pero esto puede causar su propio conjunto de problemas porque ahora se enfrenta a datos obsoletos. Para escalar sitios basados ??en sesiones, necesitará usar una solución de equilibrador de carga inteligente que admita sesiones fijas, para sus cargas, lo más probable es que necesite un equilibrador de carga de hardware.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top