48 votes

Comment vérifier le dernier recyclage du pool d'applications

Est-il possible de vérifier quand j'ai recyclé le pool d'applications la dernière fois, je veux vérifier la date à laquelle mon pool d'applications a été recyclé pour la dernière fois, y a-t-il quelque chose dans IIS qui me permette d'obtenir cette information ?

0 votes

Mettez la déclaration de journalisation dans Application_Start dans Global.asax, c'est-à-dire de manière programmatique. Event Viewr sera un bon endroit pour regarder si vous n'avez pas accès au code. Cet article expliquer comment configurer l'enregistrement des événements de redémarrage de l'application

1 votes

J'ai demandé à un question similaire ce qui peut être utile si vous êtes dans un environnement d'hébergement partagé où vous ne pouvez pas accéder au journal des événements.

60voto

Vous pouvez facilement trouver le dernier temps de recyclage en utilisant ce snippet powershell :

(Get-Process -Id <ProcessId>).StartTime

Trouvez donc l'identifiant du processus de votre application web dans le gestionnaire de tâches.
Ajoutez d'abord les colonnes suivantes via Outils > Sélectionner les colonnes... : choisir PID y Ligne de commande .
Recherchez tout processus w3wp.exe et trouvez votre application en examinant la ligne de commande (le nom du pool d'applications en fait partie) et notez son PID.
Ensuite, exécutez le powershell script pour trouver le dernier temps de recyclage :

J'espère que cela vous aidera

26voto

Stephen S. Points 1576

Si l'enregistrement des recyclements est activé, vous pouvez le voir dans l'observateur d'événements (journal du système).

Si ce n'est pas le cas, vous pouvez utiliser les compteurs PerfMon pour voir le temps écoulé du processus sur le W3WP.exe représentant votre pool d'applications (qui sera le nombre de secondes depuis le dernier recyclage).

6 votes

Où dans l'observateur d'événements ? Le site Application des journaux ? System journaux ? Quelque part ailleurs ?

0 votes

Menu Démarrer (Windows) > "Event Viewer" (visualiseur d'événements)

2 votes

Comment vérifier si la connexion est activée pour les recyclages ?

12voto

John Kopparhed Points 121

Pour obtenir toutes les informations avec une seule commande, utilisez le Get-WmiObject au lieu du get-process.

Get-WmiObject Win32_Process -Filter "name = 'w3wp.exe'" | Select-Object Name, @{"name"="ApplicationPool";expression={(($_).CommandLine).split('"')[1] }},@{"name"="Starttime";expression={$_.ConvertToDateTime($_.CreationDate)}}

4voto

mvanle Points 152

Dans Powershell :

(ps -id (Get-IISAppPool -Name <name>).WorkerProcesses.ProcessId).StartTime

Si le pool a été recyclé, alors pour une raison quelconque, vous devrez réimporter le module pour obtenir le nouveau processId :

$pool = Get-IISAppPool -Name <name>

$pool.recycle()

Import-Module -Force IISAdministration

(ps -id (Get-IISAppPool -Name <name>).WorkerProcesses.ProcessId).StartTime

0 votes

Bien, et pour échapper au nom de l'app_pool, il suffit de le mettre entre guillemets.

2voto

leemicw Points 522

Cela vous donnera une liste de tous les processus w3wp sur la machine et leurs heures de démarrage. L'action ErrorAction empêche la commandlet de lancer une erreur si aucun site web n'est lancé et donc si aucun processus w3wp n'existe.

ps w3wp -ErrorAction SilentlyContinue | select ProcessName, StartTime

Testé sur Server 2012 R2 avec powershell v4.0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X