2011-12-14 17 views
28

क्या यह जांचना संभव है कि मैंने पिछली बार ऐप पूल का पुनर्नवीनीकरण कब किया था, मैं उस तारीख की जांच करना चाहता हूं जब मेरा ऐप पूल पिछली बार पुनर्नवीनीकरण किया गया था, क्या आईआईएस में कुछ भी है जो मुझे यह जानकारी मिल सकती है।ऐप पूल की जांच कैसे करें पिछली पुनर्नवीनीकरण

+0

रखें प्रवेश कथन कि प्रोग्राम के है। इवेंट व्यूअर यह देखने के लिए एक अच्छी जगह होगी कि आपके पास कोड तक पहुंच नहीं है। [यह आलेख] (http://blogs.msdn.com/b/johan/archive/2008/02/18/monitoring-plication-pool- और-application-restarts.aspx) एप्लिकेशन को पुनरारंभ करने के लिए कैसे करें प्रोग्राम लॉगिंग –

+1

मैंने एक [समान प्रश्न] पूछा (http: // stackoverflow।कॉम/प्रश्न/5443356/कैसे-टू-बताना-क्यों-एक-आईआईएस-एप्लिकेशन-पूल-रीसाइक्लिंग किया गया है) जो उपयोगी हो सकता है यदि आप एक साझा होस्टिंग वातावरण में हैं जहां आप ईवेंट लॉग तक नहीं पहुंच सकते हैं। –

उत्तर

17

यदि रीसायकल पर लॉग ऑन चालू है तो आप इसे ईवेंट व्यूअर में देख सकते हैं।

यह आप परफ़ॉर्मेंस प्रक्रिया बीत चुके W3WP.exe पर समय अपने आवेदन पूल (जो पिछले पुनरावृत्ति के बाद से सेकंड की संख्या हो जाएगा)

+2

इवेंट व्यूअर में कहां? 'एप्लिकेशन' लॉग? 'सिस्टम' लॉग? कहीं और? – deadlydog

+0

सिस्टम लॉग में –

34

आप आसानी से नवीनतम मिल सकता है का प्रतिनिधित्व करने को देखने के लिए काउंटरों का उपयोग कर सकते नहीं है, तो इस शक्तिशक्ति स्निपेट का उपयोग करके रीसायकल समय:

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

इसलिए कार्य प्रबंधक में अपने वेब एप्लिकेशन की प्रक्रिया आईडी पाएं।
पहले उपकरण> स्तंभ चुनें के माध्यम से निम्नलिखित स्तंभ जोड़ने ...: चयन पीआईडी ​​ और कमांड लाइन
किसी भी w3wp.exe प्रक्रिया की तलाश करें और कमांड लाइन की जांच करके अपना एप्लिकेशन ढूंढें (एप्लिकेशन पूल नाम इसका हिस्सा है) और इसके पीआईडी ​​को नोट करें।
फिर नवीनतम रीसायकल समय लगता है powershell स्क्रिप्ट चलाने:

आशा इस मदद करता है

+0

आईआईएस स्नैपिन का उपयोग कर प्रक्रिया आईडी ढूंढने का एक विकल्प है, और कह रहा है: dir IIS: \ AppPools \ _APPNAME_ \ WorkerProcesses। – nmunson

+2

पावरहेल को व्यवस्थापक के रूप में चलाने के लिए मत भूलना – shadi

+6

एक-लाइनर के रूप में: 'ps w3wp | पीएस v4 पर ProcessName, स्टार्टटाइम का चयन करें। –

0

यह आपको अपनी शुरुआत के समय मशीन पर सभी w3wp प्रक्रिया और की एक सूची दे देंगे। ErrorAction एक त्रुटि फेंक से commandlet रोकता कोई वेबसाइटों शुरू कर रहे हैं और इसलिए कोई w3wp प्रक्रियाओं मौजूद

ps w3wp -ErrorAction SilentlyContinue | select ProcessName, StartTime 

powershell v4.0 साथ R2 सर्वर 2012 को परीक्षण किया गया

1

एक आदेश उपयोग के साथ सभी जानकारी प्राप्त करने के लिए करता है, तो Get-process के बजाय Get-WmiObject।

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

वर्कर प्रोसेस सक्रिय रहने की अवधि (अनुशंसित) प्राप्त करें:

$poolName = <your pool name goes here eg. DefaultPool> 
$poolProcess =(gwmi -NS 'root\WebAdministration' -class 'WorkerProcess' | select AppPoolName,ProcessId | Where-Object { $_.AppPoolName -eq $poolName }) 

$lastStartTime=(Get-Process -Id $poolProcess.ProcessId).StartTime 
write-output $lastStartTime 

यह काम करने के लिए, सुनिश्चित करें कि आपके पास 'आईआईएस प्रबंधन स्क्रिप्ट और टूल' बनाने के सक्षम होना चाहिए।

enter image description here

दूसरा, जिस तरह से ईवेंट लॉग उपयोग कर रहा है, यदि सक्षम

Get-Eventlog -LogName system -Newest 1 -Source "WAS" -Message "*recycle of all worker processes in application pool '$poolName'*") 

Get-Eventlog के साथ आप -After/-Before तर्क का उपयोग कर सकते आगे परिणाम सीमित करने के लिए। यदि आवेदन पूल पिछले 'एक्स' मिनट में पुनर्नवीनीकरण

जाँच करने के लिए निम्न powershell टुकड़ा इस्तेमाल किया जा सकता: Global.asax में Application_Start में

function isRecycledInLastNMinutes($appPoolName, $lminutes){ 
    $beforeDate = Get-Date -format 'u' 
    $afterDate = $beforeDate.addMinutes(-$lminutes) 
    $result = (Get-Eventlog -LogName system -Newest 1 -Source "WAS" -After $afterDate -Before $beforeDate -Message "*recycle of all worker processes in application pool '$appPoolName'*") 
    if($result.length -eq 1){ 
     return $true 
    }else{ 
     retrun $false 
    } 
} 
संबंधित मुद्दे