2009-01-14 5 views
2

J'ai un serveur IIS qui s'exécute sur Windows Server 2003. Le serveur héberge plusieurs sites Web.Mesure de la charge du processeur pour des sites Web IIS spécifiques sur le même serveur

De temps en temps, la charge du processeur atteint des pics de temps, de sorte que le serveur cesse de répondre ou réagit avec retard. Le problème est que nous ne savons pas lequel des multiples sites Web crée la charge élevée - J'ai essayé de regarder dans le moniteur de performance pour les compteurs qui pourraient être utilisés, mais je ne vois rien sur la charge du processeur pour instances IIS spécifiques.

Cela rend très difficile de trouver la cause du problème.

Répondre

3

Pour chaque pool d'applications il y a processus w3wp.exe. Essayez donc de définir chaque application Web dans un pool d'applications différent. D'ailleurs, c'est toujours une bonne pratique. Puis, exécutez le following script.

Ensuite, vous pouvez voir quelle application Web crée la charge CPU élevée via le Gestionnaire des tâches ou l'Analyseur de performances.

+0

+1. J'ai pris la liberté d'éditer afin que l'URL ne soit pas en dehors de la page. –

1

Avez-vous essayé de vérifier les compteurs de performance pour les pics Garbage Collection 2 (# Gen 2 Collections)?

Des périodes de charge CPU très élevée sont souvent attribuables à cela.

EDIT: Cette SO réponse pourrait être utile: What are the best ASP.NET performance counters to monitor?

Ce blog décrit la collecte et l'interprétation GC compteurs de performance: http://blogs.msdn.com/maoni/archive/2004/06/03/148029.aspx

+0

Je les surveille maintenant, mais comment interpréter les nombres? Que devrait-on attendre? – mbp

+0

J'ai supposé que vous exécutez ASP.NET (ce qui peut ne pas être le cas?) Un gros tas de Gen 2 et un grand nombre de collections Gen 2 peuvent signifier que trop d'objets sont conservés dans la mémoire. –

+0

Qu'est-ce qu'un grand nombre? :-) Je vois des valeurs allant de 2 à 40, je suppose que ce n'est pas un grand nombre. – mbp

0

Utilisation de WMI essayer:

Pour obtenir l'utilisation de processus (W2K3/2K8):
"SELECT IDProcess, PercentPrivilegedTime, PercentProcessorTime, PercentUserTime DE Win32_PerfFormattedData_PerfProc_Process où Name = 'w3wp'"

Pour identifier votre site utilisez ceci:
"SELECT ProcessId, LigneCommande, WorkingSetSize, tHREADCOUNT, PrivatePageCount, PageFileUsage, pagefaults, HandleCount, CreationDate, Légende DE Win32_Process où Caption = 'w3wp.exe'"

Utilisez cet outil pour le test sql: http://code.msdn.microsoft.com/NitoWMI

Bonne chance.

Questions connexes