IIS7 में एप्लिकेशन पूल निष्क्रिय टाइम-आउट को कैसे अक्षम करें?


146

यदि मैं निष्क्रिय समय-आउट को 0 पर सेट करता हूं तो क्या यह अक्षम हो जाएगा?

जवाबों:


184

हां, निष्क्रिय टाइमआउट मान को शून्य पर सेट करने से निष्क्रिय समय समाप्त हो जाएगा।

विचित्र रूप से यह एमएस डॉक्स में प्रलेखित नहीं है, लेकिन इसके लिए मेरे साक्ष्य निम्नानुसार हैं:

  • IIS सेटिंग्स स्कीमा

    यदि आप IIS सेटिंग्स स्कीमा में एक नजर है:

    C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml

    के idleTimeoutतहत स्कीमा परिभाषा

    <sectionSchema name="system.applicationHost/applicationPools">

    ऐसा लग रहा है:

    <attribute name="idleTimeout" 
           type="timeSpan" 
           defaultValue="00:20:00" 
           validationType="timeSpanRange" 
           validationParameter="0,2592000,60"/>

    यदि आप उस validationParameterविशेषता को देखते हैं जो हम 0 से 2592000 सेकंड तक देखते हैं ( ,60सेटिंग की बारीकियों को निर्दिष्ट करता है, तो इस स्थिति में मूल्य 60 [एक मिनट] तक विभाजित होना चाहिए)।

    यदि आप एक प्रारंभिक अनुमेय मूल्य देखते हैं 0तो यह आमतौर पर इंगित करता है कि सेटिंग को अक्षम किया जा सकता है।

  • IIS7 एप्लिकेशन पूल आइडल टाइम-आउट सेटिंग्स

    ब्रैड किंग्सले OrcsWeb के संस्थापक और सीईओ हैं जो काफी प्रसिद्ध, सम्मानित और विश्वसनीय Microsoft होस्टर और गोल्ड पार्टनर हैं।

  • फिर इस तथ्य का अनुभवजन्य प्रमाण भी है कि यह "बस काम करता है"।


3
दूसरों के लिए एक हेडअप - इसे पढ़ने के बाद, मैंने IIS7 पर अपना निष्क्रिय समय-सारणी 0 पर सेट किया और इसे तुरंत समाप्त करना शुरू कर दिया - प्रत्येक पेज लोड 15 सेकंड या ऐसा ही हुआ। मैंने अब इसे 600 में बदल दिया है और सब कुछ फिर से तेजी से चल रहा है।
दोपहर

1
@nailitdown: आप उस की दोबारा जांच कर सकते हैं। मैंने अभी अपना IIS6 ऐप पूल टाइमआउट 0 पर सेट किया है, और यह ठीक काम करता है। यह IIS7 / IIS6 के बीच एक मौका है, जिसे जानना अच्छा होगा।
डग एस

3
जब से मैंने पोस्ट किया कि हमें VPS के साथ कई समस्याएं थीं जिनके साथ मैं काम कर रहा था ... काफी संभावना है कि यह किसी भी तरह से गलत था। मैंने अभी नए VPS पर इसे डुप्लिकेट करने की कोशिश की, और यह ठीक से व्यवहार करता है, जैसा कि वर्णित है।
8

3
@ ज़ीरो 3 - अच्छी तरह से .... एक उच्च यातायात साइट पर किसी भी सेटिंग को बदलने से पहले आपको अपने स्टेजिंग / क्यूए पर्यावरण पर दुष्प्रभावों आदि के लिए हमेशा परीक्षण करना चाहिए। उस समय के दौरान जब आप अपने उत्पादन परिवेश में परिवर्तन लागू कर रहे होते हैं, तब आपको वास्तव में सार्वजनिक सामना करने वाले उपयोगकर्ताओं के लिए रखरखाव पृष्ठ को फेंकना चाहिए, जब तक कि परिवर्तन प्रभावी नहीं हो जाता। आपको इन परिवर्तनों को प्रबंधित करने की आवश्यकता है ताकि कोई आश्चर्य न हो।
केव

2
@ Zero3 - हां, ऐप पूल सेटिंग्स में से कई को बदलने के लिए प्रभावी होने के लिए एक प्रक्रिया को पुनरारंभ करने की आवश्यकता होती है, जो डिफ़ॉल्ट रूप से सीधे होती है। आप इसे DisallowRotationOnConfigChange के साथ बदल सकते हैं - उस पर थोड़ा और अधिक के लिए serverfault.com/questions/333907/… देखें ।
ट्रिस्टनके

11

बहुत बढ़िया जवाब! धन्यवाद केव!

एक छोटा अपडेट: आपके द्वारा पोस्ट किया गया URL स्थानांतरित हो गया है और यह अब है: http://bradkingsley.com/iis7-application-pool-idle-time-out-settings/

मैं सोच रहा था कि क्या कोई कारण है कि यह डिफ़ॉल्ट नहीं है, और यदि अनुप्रयोग पूल को लंबे समय तक खुला रखने के लिए प्रदर्शन प्रभाव हो सकता है। ठीक है, जब यह बेकार हो जाता है तो इसे रखने से आपको ट्रैफ़िक नहीं होने और इसे बेकार समय नहीं होने से ज्यादा परेशानी नहीं होगी। यदि आप मेमोरी लीक या अन्य संसाधन लीक के बारे में चिंतित हैं, तो पिछले रीसायकल / मेमोरी खपत के बाद से समय / संख्या के अनुरोध के आधार पर रीसाइक्लिंग को मजबूर करने के लिए एक सेटिंग है। यहाँ इसके लिए प्रलेखन है:

http://technet.microsoft.com/en-us/library/cc753179(v=ws.10).aspx

मैं अपने सर्वर को निष्क्रिय (बेकार) = 0 पर रीसायकल नहीं करने जा रहा हूं और हर 24 घंटे में रीसायकल करता हूं: पुनर्चक्रण> नियमित समय अंतराल = 1440


15
आपको संभवतः अपने रीसायकल को 24 घंटे के बजाय एक निश्चित समय (जैसे 0100) पर सेट करने की सलाह दी जाती है, क्योंकि पिछले सर्वर रिस्टार्ट / आईआईएस रीसेट के बाद 24 घंटे में परिणाम होगा।
नील

1
Import-Module WebAdministration

$pools = Get-ChildItem iis:\apppools

foreach ($pool in $pools)
{ 
$poolname = $pool.Name

Set-ItemProperty IIS:\AppPools\$poolname -name processModel -value @{idletimeout="20"}
Set-ItemProperty IIS:\AppPools\$poolname -name processModel -value @{idletimeoutaction="Suspend"}
set-ItemProperty IIS:\AppPools\$poolname -Name Recycling.periodicRestart -Value @{time="0"} 
set-ItemProperty IIS:\AppPools\$poolname -Name Recycling.periodicRestart.schedule -Value @{value="02:00:00"} 
Set-ItemProperty IIS:\AppPools\$poolname -name Recycling -value @{logEventOnRecycle="Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory"} 

Write-Host "Updated $poolname settings" 
}

6
इस पेस्ट किए गए कोड का स्पष्टीकरण उपयोगी होगा।
ल्यूक एल्डर्टन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.