Asi pensando en voz alta

¿Seguro que no tenes ningún spyware o algo?

¿Cómo estás de disco? Si te das cuenta que tenes un cuello de botella, podes
ponerle otro disco adicional, para espejado? (pasarlo a dynamic disk, luego
mirror). Esto incrementa en casi el doble el rendimiento de lectura porque
lee en paralelo (siempre que estén montado en canales IDE distintos o bien
SATA alternos) el 50% de cada disco y lo arma en memoria.

¿Trabajas contra SQL Server? Como estás con el rendimiento del SQL server?
Que versión de SQL server es? El worker process de MSDE 2000 tiene una
limitación de laburo por diseño, esto te puede ralentizar la respuesta al
proceso ASP.NET. Si tenes uno de esos, mejor migralo a SQL Server Express
que tiene algo mejorado en este aspecto. ¿Tenes armados los índices de
acuerdo a tus consultas mas frecuentes? ¿Cómo haces los updates a la base de
datos? Lo haces por datasets y update? Lo haces por strings contra el
servidor?  En este ultimo caso podés preparar (prepare) los SELECT/UPDATES
asi el SQL server cachea el plan de acceso (para esto debes preparar una vez
el string de update y después trabajar con parámetros solamente).

¿Cuanta memoria disponés? Para 1GB el sistema operativo tomará hasta 4GB
contiguos de archivo de paginado, fijate que es una cantidad significativa
de información que tiene que mover por una conexión relativamente lenta si
la comparás con la velocidad de la RAM. Si W3WP.EXE necesita continuamente
páginas en el disco (poco probable, pero existe la probabilidad),  tendrías
un cuello de botella, todo se te va a venir abajo en velocidad, quizás
puedas invertir en el doble de RAM para que pagine poco al disco.

¿Estás comprimiendo con gzip las páginas a través de IIS? Fijate de
activarlo, a ver que pasa, consume procesador (un incremento de un 5%
aprox), es cierto, pero el tiempo de transmisión al cliente se reduce en un
50%, el flag de desconexión http le llega al servidor en la mitad del
tiempo. No es seguro, pero todo indica que podes mejorar si lo activás.

¿Que OS es? ¿Server? Fijate en los servicios que le podes bajar si no los
necesitás, esto te libera RAM, con el consiguiente paginado. Por ejemplo, si
es único SQL server en la LAN, podes bajar el SQL Browser, si no tenes
trabajos con timers, replicación o algún servicio de integración de datos
temporizado, podes bajar el SQL Agent también.

Como otros colisteros, te recomiendo Sysinternals, es una herramienta piola
que te deja ver bien que sucede en tu maquina.

Carlos


> -----Mensaje original-----
> De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de
> JATEMLIANSKY, Diego
> Enviado el: Martes, 15 de Enero de 2008 01:49 p.m.
> Para: [email protected]
> Asunto: [puntonet] aspnet_wp.exe
> 
> Hola Gente, les hago una pregunta.
> 
> Tengo una aplicación hecha en ASP.NET que consumen aprox. 200 usuarios
> concurrentes.
> 
> Por momentos el proceso aspnet_wp empieza a tomar el 100% del
> procesador y
> consume mas memoria de lo normal.
> 
> Hay alguna manera de saber que es lo que esta procesando en ese momento
> ?
> 
> Muchas Gracias.
> Saludos.
> 
> 
> 
>  AVISO: El presente mensaje y los archivos adjuntos que incluya pueden
> contener información confidencial de uso exclusivo del destinatario
> indicado. Cualquier uso en desacuerdo con su propósito, difusión o
> publicación, total o parcial, se encuentra prohibida. Si recibió este
> mensaje por error, rogamos reenviarlo al emisor y destruir las copias
> impresas o grabadas en su sistema. Las opiniones contenidas, son
> exclusivas de su autor y no representan necesariamente la opinión de
> OMINT S.A. de Servicios.
> 
> 
> 
> __________ Información de NOD32, revisión 2792 (20080115) __________
> 
> Este mensaje ha sido analizado con NOD32 antivirus system
> http://www.nod32.com



Responder a