2009-03-19 14 views
17

Tengo un problema recurrente en el que un cliente llama y se queja de que el sitio web es demasiado lento. Específicamente, si están inactivos durante un corto período de tiempo, luego regresan al sitio, habrá un retraso de dos minutos antes de que el usuario vea una respuesta. (el navegador estándar es Firefox en este caso)Cómo rastrear el rendimiento del servidor IIS

Tengo Perfmon en funcionamiento, la utilización de la CPU suele ser inferior al 20% (solo proceso ... no preguntar). La base de datos sigue zumbando. Y estoy tirando de mi cabello.

Entonces, ¿qué métricas/herramientas le parecen útiles al evaluar el rendimiento de IIS?

+0

Esto podría ser una mejor opción en Server Fault. –

+1

Podría ser, pero Server Fault no existía cuando hice esta pregunta. –

Respuesta

21

Espero que esto ayude:
Best Practices for Speeding Up Your Web Site
Scaling Strategies for ASP.NET Applications
IIS Tuning
14 Rules for Faster-Loading Web Sites
Best practices for creating websites in IIS 6.0
Stanford Computer Cience - High Performance Web Sites
10 Tips for Writing High-Performance Web Applications
Writing High-Performance Managed Applications : A Primer
Nine tips for a healthy "in production" ASP.NET application
Speedy C#, Part 2: Optimizing Memory Allocations - Pooling and Reusing Objects
Memory Usage Auditing For .NET Applications
Troubleshooting HTTP Compression in IIS 6.0
Maximizing IIS Performance - 25 tips
Optimizing IIS 6.0 Performance
Page Speed - an open-source Firefox/Firebug Add-on
Performance Testing Guidance for Web Applications
Top 10 Performance Improvements in IIS 7.0
CHAPTER 6 Optimizing IIS 6.0 Performance
Performance Tuning Guidelines for Windows Server 2003 - Performance Tuning for IIS 6.0
ASP.NET Performance Tips
IIS 6.0 Tuning for Performance - by Peter A. Bromberg, Ph.D.
Improving .NET Application Performance and Scalability - by MS
Optimizing and Performance Tuning IIS 6.0
12 Steps To Faster Web Pages With Visual Round Trip Analyzer
Thread: IIS 6 performance tweak guide (draft)
CPU Settings for an Application Pool IIS6 e IIS7

grandes mejoras consejos:
Running ASMX Web Services on STA Threads
Scale Net

Medida, mea Seguro, medida:
carga de prueba su sitio
Show Slow
Performance Monitor Wizard
Two Minute Drill: Introduction to XPerf
Suggested Performance Counters to Watch (IIS 6.0)

Ver lo que hicieron los mejores sitios:
Benchmarks
TOP 100

Más recursos:
Learn papers

Mi experiencia dice:
- Habilitar la compresión (gzip/desinflado) en IIS, para los datos estáticos. Simple de implementar y con excelentes resultados.
- si la CPU no es su problema, intente habilitar también la compresión de datos dinámicos.

+3

ok, muchos enlaces son buenos, pero ¿qué tal algunos consejos basados ​​en * su * experiencia también? –

+1

Mi experiencia dice: evalúa cada caso y aplica eso que trae resultados. Estoy dando las opciones. – lsalamon

12

Para su caso particular, necesita aumentar la opción de tiempo de inactividad en IIS porque ese retraso se debe a que ASP.NET carga los binarios y comienza su aplicación. El valor predeterminado es 20 minutos, por lo que si nadie accede al sitio durante 20 minutos, IIS cerrará el proceso y la próxima solicitud tardará mucho tiempo en iniciarse.

+0

¿Tiene una recomendación sobre a qué establecer el valor? Cambié el mío a 60 minutos como titular. –

+0

Depende de la cantidad de tráfico que recibe su sitio. Yo diría que si está recibiendo <100 visitantes/día, debería ser alrededor de 24 horas. De esta forma, si no recibe tráfico en el horario de menor actividad, su sitio seguirá respondiendo al día siguiente. – Alex

+2

@Chris normalmente no desea que se agote el tiempo de espera si está ejecutando su propio servidor y no hay mucho más en la caja. Usted siempre quiere que su sitio sea ágil, ¿verdad? –

4

¿Quizás el grupo de aplicaciones se está cerrando cuando hay un período de inactividad? El grupo de aplicaciones tardaría un tiempo en volver a iniciarse.

Cuestiones relacionadas