विंडोज सर्वर पर चल रहे वेबसर्वर पर आईआईएस साइटों के लिए उपयोगकर्ता कनेक्शन (सत्र) की वर्तमान संख्या का त्वरित अनुमान कैसे लगाएं? इस तरह की जानकारी सर्वर पर लोड को निर्धारित करने और भविष्यवाणी करने की अनुमति देगी, वेबसाइट के रखरखाव और अपडेट के लिए सबसे अच्छा समय चुनें, उपयोगकर्ताओं की संख्या बढ़ने पर आईआईएस सर्वर के लोड की भविष्यवाणी करें।
IIS वेब साइट पर सक्रिय उपयोगकर्ता सत्रों की संख्या निर्धारित करने का सबसे आसान तरीका विंडोज़ में प्रदर्शन काउंटर का उपयोग करना है प्रदर्शन मॉनिटर ।
परफमन . चलाकर प्रदर्शन मॉनिटर कंसोल खोलें आदेश दें और प्रदर्शन मॉनीटर अनुभाग पर जाएं (निगरानी उपकरण —> प्रदर्शन मॉनीटर )।
फिर आपको मॉनिटर विंडो में आवश्यक काउंटर जोड़ने की आवश्यकता है (डिफ़ॉल्ट रूप से, कुल CPU उपयोग काउंटर प्रदर्शित होता है, लेकिन आप इसे हटा सकते हैं)। नया काउंटर जोड़ने के लिए, टूलबार पर हरे बटन पर क्लिक करें (आप इसे स्क्रीनशॉट पर देख सकते हैं) या Ctrl+N दबाएं कीबोर्ड पर।
उपलब्ध काउंटरों की सूची में, वेब सेवा . ढूंढें और विस्तृत करें समूह। इस श्रेणी में, हम तीन काउंटरों में रुचि रखते हैं:
- वर्तमान अनाम उपयोगकर्ता - अनाम IIS उपयोगकर्ताओं की संख्या;
- वर्तमान गैर-अनाम उपयोगकर्ता - अधिकृत IIS उपयोगकर्ताओं की संख्या;
- वर्तमान कनेक्शन - IIS सर्वर पर सक्रिय कनेक्शन की कुल संख्या।
वांछित काउंटर का चयन करें और चयनित वस्तुओं के उदाहरण . में एक या अधिक IIS वेबसाइट चुनें जिनके लिए आप कनेक्शन जानकारी प्रदर्शित करना चाहते हैं। सर्वर पर सभी वेबसाइटों के उपयोगकर्ताओं के बारे में जानकारी _कुल . में संग्रहीत की जाती है उदाहरण। अब आपको केवल जोड़ें . पर क्लिक करना है >> काउंटर को दाएँ फलक में जोड़े जाने वाले काउंटरों की सूची में ले जाने के लिए बटन।
सभी आवश्यक काउंटरों को इसी तरह जोड़ें और ठीक क्लिक करें।
अब प्रदर्शन प्रबंधक कंसोल में उपयोगकर्ता सत्रों की संख्या के बारे में जानकारी वास्तविक समय में प्रदर्शित की जा रही है (डिफ़ॉल्ट रूप से, काउंटर मान रैखिक ग्राफ़ के रूप में प्रदर्शित होते हैं)। यदि आप निचले फलक में किसी भी काउंटर का चयन करते हैं, तो आप किसी निश्चित अवधि के लिए उसका अंतिम, औसत, न्यूनतम या अधिकतम मान देख सकते हैं।
आप इस कंसोल में कस्टम प्रदर्शन काउंटर जोड़ सकते हैं और उन्हें एक अलग दृश्य में सहेज सकते हैं, जिसका उपयोग बाद में वेब सर्वर लोड डेटा को तुरंत एक्सेस करने के लिए किया जा सकता है।
आप पावरशेल से आईआईएस प्रदर्शन काउंटर तक पहुंच सकते हैं। ऐसा करने के लिए, आप गेट-काउंटर cmdlet का उपयोग कर सकते हैं। सभी उपलब्ध वेब सेवा प्रदर्शन काउंटरों की सूची निम्नानुसार प्रदर्शित की जा सकती है:
(गेट-काउंटर - लिस्टसेट 'वेब सर्विस')। काउंटर
IIS सर्वर (काउंटर \Web Service(*)\Current Connections) पर सक्रिय कनेक्शन की वर्तमान संख्या के बारे में जानकारी प्राप्त करने के लिए, इस कमांड का उपयोग करें:
गेट-काउंटर -काउंटर "\वेब सेवा(*)\वर्तमान कनेक्शन"
जैसा कि आप देख सकते हैं, इस कमांड ने IIS सर्वर से कनेक्शन की कुल संख्या और प्रत्येक साइट के आंकड़े दोनों लौटा दिए।
टिप.- कई काउंटरों के मान प्रदर्शित किए जा सकते हैं यदि आप उन्हें अल्पविराम से अलग करके निर्दिष्ट करते हैं;
- –सतत . के साथ विकल्प, काउंटर के मूल्य के बारे में जानकारी लगातार कंसोल में प्रदर्शित होती है जब तक कि आप इसे CTRL+C का उपयोग करके बाधित नहीं करेंगे।
आप किसी विशिष्ट IIS साइट के लिए सक्रिय सत्रों की संख्या प्राप्त कर सकते हैं। उदाहरण के लिए, साइट 1 नामक साइट पर कनेक्शन की वर्तमान संख्या प्राप्त करने के लिए, निम्न आदेश चलाएँ:
गेट-काउंटर "वेब सेवा(साइट1)\वर्तमान कनेक्शन" -कंप्यूटर नाम वेब-srv01
आप उस सर्वर का नाम निर्दिष्ट कर सकते हैं जिस पर काउंटर मान चेक किया गया है। जब आप स्थानीय रूप से साइट पर कनेक्शन की संख्या की जाँच कर रहे हैं, तो लोकलहोस्ट निर्दिष्ट करने की अनुमति नहीं है:
हर बार सर्वर नाम निर्दिष्ट न करने के लिए, आप पर्यावरण चर COMPUTERNAME का उपयोग कर सकते हैं:
गेट-काउंटर "वेब सेवा(साइट1)\वर्तमान कनेक्शन" -ComputerName $env:COMPUTERNAME
संपूर्ण IIS वेब सर्वर (IIS पर कुल उपयोगकर्ता) के काउंटर "वर्तमान कनेक्शन" का संख्यात्मक मान प्राप्त करने के लिए, आप इस कमांड का उपयोग कर सकते हैं:
((Get-Counter -Counter 'web service(_total)\current Connections' -computer $env:COMPUTERNAME) | Select-Object -Expand countersamples.Cookedvalue
आइए हमारी साइट के साथ कई अतिरिक्त सत्र बनाने और काउंटर वैल्यू की जांच करने के लिए एक साधारण स्क्रिप्ट का उपयोग करने का प्रयास करें। आप Invoke-WebRequest cmdlet का उपयोग करके IIS वेबसाइट से कनेक्शन की संख्या बढ़ा सकते हैं, या आप बस ब्राउज़र में कई विंडो खोल सकते हैं:
$काउंटर =20
के लिए($i=1;$i -le $counter;$i++){
$SiteAdress ="https://localhost:9666/"
प्रारंभ-प्रक्रिया $SiteAddress
}
वर्तमान कनेक्शन काउंटर के मूल्य की जाँच करें और सुनिश्चित करें कि यह बढ़ता है।
यदि सर्वर पर कई IIS साइटें चल रही हैं, और आपको तालिका के रूप में उनमें से प्रत्येक के लिए कनेक्शन की संख्या प्राप्त करने की आवश्यकता है, तो आप इस स्क्रिप्ट का उपयोग कर सकते हैं (IIS से PowerShell में डेटा प्राप्त करने के लिए, आपको WebAdministration मॉड्यूल लोड करने की आवश्यकता है) ):
आयात-मॉड्यूल वेब प्रशासन
फ़ंक्शन get-CurrentConnection($Site) {
गेट-काउंटर "वेब सेवा($साइट)\वर्तमान कनेक्शन, वेब सेवा($साइट)\ बाइट्स प्राप्त/सेकंड, web service($Site)\Bytes Sent/sec" -ComputerName $env:COMPUTERNAME
}
$IISsites =dir IIS:\Sites | नाम चुनें
$CurrentConnection =@()
foreach ($IISsites में साइट)
{
राइट-होस्ट $site
$ConnCount =New-Object psobject | get-CurrentConnection -साइट $site.name
$CurrentConnection +=$ConnCount
}
$CurrentConnection|out-gridview
आप सभी साइटों के लिए कनेक्शन काउंटरों के संख्यात्मक मान भी प्रदर्शित कर सकते हैं (पहला मान IIS से कनेक्शन की कुल संख्या है):
प्राप्त करें-wmiObject-वर्ग Win32_PerfRawData_W3SVC_WebService | चयन-वस्तु -वर्तमान कनेक्शनों का विस्तार करें
आप प्रत्येक साइट या संपूर्ण वेब सर्वर के लिए प्राप्त/भेजे गए डेटा की मात्रा के बारे में जानकारी प्रदर्शित कर सकते हैं कोड>वेब सेवा(साइटनाम)\बाइट्स प्राप्त/सेकंड और वेब सेवा(साइटनाम)\बाइट्स भेजा/सेकंड
काउंटर।
इसलिए, हमने IIS वेब सर्वर पर चल रही साइटों पर लोड के बारे में जानकारी प्राप्त करने का एक तरीका देखा।