Construcción de una máquina ASP.NET y SQL Server; necesito ayuda

Actualmente tengo una aplicación web asp.net ejecutándose en una máquina xp con iis 5.1 y sql server 2005 en nuestra networking. Esta aplicación procesa grandes files excel (50MB +), maneja 100's de 1000's de loggings de información de productos y manipula esos datos. En este momento no muchas personas pueden acceder a la aplicación y hacer nada sustancial sin congelar el sistema.

Me gustaría poder tener ~ 10 personas usando el sistema en un momento dado haciendo estas tareas grandes.

¿Debo separar el server web y el server sql en máquinas separadas? XP, Vista, 7, server de Windows? 32 bits, 64 bits? ¿RAM? CPUs?

Obviamente el costo es algo de un problema …

Cualquier recomendación, ideas, o enlaces a artículos sería muy apreciado!

Los requisitos de su aplicación no parecen demasiado onerosos hoy. Con una máquina bien especificada no debe necesitar separar las funciones en caja de SQL y caja de la tela.

Si el costo es un factor principal, las versiones de OS y SQL dependerán de los costos de licencias, lo que a su vez dependerá de si su organización tiene acuerdos de partners o ofertas especiales de MS.

Sin embargo, definitivamente vale la pena mirar el layout general del sistema antes de ir a tirar dinero. A menudo 'se congela' se puede arreglar cambiando los esquemas de locking / aislamiento dentro de la database SQL – si tiene usuarios tratando de leer de una tabla que se está actualizando con el locking pnetworkingeterminado de SQL, se bloqueará. (Mira las READ UNCOMMITTED y NOLOCK pero no confíes ciegamente en ellas)

También mira a PerfMon para ver si la E / S del disco está causando tus desaceleraciones (mira los valores esperados de la average disk queue length ) – y esto ayudará a ver si necesitas concentrarte en mejores matrices de disco en tu nueva máquina (RAID 1, 5, 10 etc).

¿Sabe que IIS 5.1 en Windows XP tiene algunas limitaciones serias en términos de usuarios concurrentes? Creo que el límite es de 2 conexiones HTTP simultáneas; no es un sistema operativo de server.

Creo que puede hackear el logging para habilitar 10, pero creo que entiendes mi punto. Mover el server SQL a otro server es una buena idea independientemente del platfor IIS.

-Osina

En realidad, el límite es 10. Está pensando en la limitación de WinInet de 2 conexiones al mismo host desde una perspectiva de cliente.

Mueva esto a una instancia de Server 2003 o Server 2008 ya less que el código se escribiera mal desde una perspectiva de concurrency debería estar bien. Sin embargo, si está accediendo a files físicos, es decir, files excel, y no hace el locking adecuado, etc. para la administración de la simultaneidad, puede que todavía no tenga suerte.

IIS 5.1 es en realidad su limitación física. Como otros han dicho, Windows XP no es un server, por lo que el server web incorporado no fue diseñado para manejar más de 10 usuarios conectándose a la vez.

Mover su aplicación a Windows Server 2003 o 2008 le daría mucho más potencial para su aplicación. Si no está buscando más de unos pocos cientos de conexiones en un día, a continuación, ejecutar tanto el server SQL y el server web en la máquina está bien. Si usted está buscando más, que una separación de las preocupaciones probablemente sería una mejor manera de ir con esto.

Buena suerte, y espero que esto ayude a algunos.