কম্পিউটার টিউটোরিয়াল

IIS সাইটে একটিভ ইউজার সেশনের সংখ্যা কীভাবে দেখবেন?

Windows Server-এ চলমান IIS সাইটে বর্তমান ইউজার কানেকশন (সেশন) সংখ্যা দ্রুত কীভাবে অনুমান করবেন? এই তথ্য সার্ভারের লোড নির্ধারণ ও প্রিডিক্ট করতে, ওয়েবসাইট মেইনটেন্যান্স ও আপডেটের জন্য সেরা সময় বেছে নেওয়া, এবং ইউজার সংখ্যা বাড়লে IIS সার্ভারের লোড প্রিডিক্ট করতে সাহায্য করবে।

Performance Monitor ব্যবহার করে একটিভ ইউজার সেশন দেখুন

IIS ওয়েব সাইটে একটিভ ইউজার সেশন সংখ্যা জানার সবচেয়ে সহজ পদ্ধতি হল Windows Performance Monitor-এ পারফরম্যান্স কাউন্টার ব্যবহার করা।

perfmon কমান্ড দিয়ে Performance Monitor কনসোল খুলুন এবং Performance Monitor সেকশনে যান (Monitoring Tools — > Performance Monitor)।

নতুন কাউন্টার যোগ করতে টুলবারের গ্রিন বাটনে ক্লিক করুন (স্ক্রিনশটে দেখুন) বা কিবোর্ডে Ctrl+N চাপুন।

উপলব্ধ কাউন্টার লিস্টে Web Service গ্রুপ খুঁজে এক্সপ্যান্ড করুন। এই ক্যাটাগরিতে আমাদের জন্য তিনটি কাউন্টার গুরুত্বপূর্ণ:

  • Current Anonymous Users – অ্যানোনিমাস IIS ইউজার সংখ্যা;
  • Current Non-Anonymous Users – অথোরাইজড IIS ইউজার সংখ্যা;
  • Current Connections – IIS সার্ভারে toplam একটিভ কানেকশন সংখ্যা।

ইচ্ছিত কাউন্টার সিলেক্ট করে Instances of selected objects-এ এক বা একাধিক IIS ওয়েবসাইট সিলেক্ট করুন যেগুলোর কানেকশন ইনফো চান। সার্ভারের সব ওয়েবসাইটের ইউজার ইনফো _Total ইনস্ট্যান্সে থাকে। Add >> বাটন চাপে কাউন্টারগুলো ডান প্যানের লিস্টে যোগ করুন।

এভাবেই সব প্রয়োজনীয় কাউন্টার যোগ করে OK ক্লিক করুন।

এখন Performance Monitor কনসোলে রিয়েল-টাইমে ইউজার সেশন সংখ্যা দেখানো হচ্ছে (ডিফল্টভাবে লিনিয়ার গ্রাফ হিসেবে)। নিচের প্যানে যেকোনো কাউন্টার সিলেক্ট করলে তার লাস্ট, অ্যভারেজ, মিনিমাম বা ম্যাক্সিমাম মান এক নির্দিষ্ট সময়ের জন্য দেখা যাবে। কাস্টম পারফরম্যান্স কাউন্টার যোগ করে সেগুলো আলাদা ভিউ হিসেবে সেভ করা যায়, যা পরে ওয়েব সার্ভার লোড ডেটা দ্রুত অ্যাক্সেসের জন্য ব্যবহার করা যাবে।

PowerShell থেকে IIS পারফরম্যান্স কাউন্টার অ্যাক্সেস করুন

PowerShell-এ Get-Counter cmdlet ব্যবহার করে IIS পারফরম্যান্স কাউন্টার অ্যাক্সেস করা যায়। সব উপলব্ধ Web Service পারফরম্যান্স কাউন্টার লিস্ট করুন:

(Get-Counter -ListSet 'Web Service').counter

IIS সার্ভারে বর্তমান একটিভ কানেকশন সংখ্যা জানতে (কাউন্টার \Web Service(*)\Current Connections):

Get-Counter -Counter “\Web Service(*)\Current Connections”

এই কমান্ড টোটাল কানেকশন এবং প্রতিটি সাইটের পরিসংখ্যান রিটার্ন করে। টিপ:Plusieurs কাউন্টার মান কমা দিয়ে স্পেসিফাই করলে একসাথে দেখাবে; –Continuous অপশন দিলে কাউন্টার মান কনসোলে কন্টিনিউয়াসলি দেখাবে (CTRL+C দিয়ে বন্ধ করুন)।

নির্দিষ্ট IIS সাইটের একটিভ সেশন সংখ্যা জানতে। উদাহরণস্বরূপ Site1 নামক সাইটের বর্তমান কানেকশন: Get-Counter "web service(Site1)\current connections" -ComputerName web-srv01

সার্ভার নাম স্পেসিফাই করতে পারেন। লোকালি চেক করলে localhost স্পেসিফাই করা যাবে না: Get-Counter "web service(Site1)\current connections" -ComputerName $env:COMPUTERNAME

পুরো IIS ওয়েব সার্ভারের "current connections" কাউন্টারের न्यুমেরিক মান পেতে (টোটাল ইউজার):

((Get-Counter -Counter 'web service(_total)\current connections' -computer $env:COMPUTERNAME) | Select-Object -Expand countersamples).Cookedvalue

সিম্পল স্ক্রিপ্ট দিয়ে সাইটে কিছু অতিরিক্ত সেশন তৈরি করে কাউন্টার মান চেক করুন। Invoke-WebRequest cmdlet বা ব্রাউজারে একাধিক উইন্ডো খুলে IIS ওয়েবসাইটের কানেকশন সংখ্যা বাড়ান:

$counter = 20
for($i=1;$i -le $counter;$i++){
$SiteAdress = "https://localhost:9666/"
Start-Process $SiteAdress
}

Current connections কাউন্টার মান চেক করুন এবং নিশ্চিত করুন যে এটি বেড়েছে।

যদি সার্ভারে একাধিক IIS সাইট চলে, এবং প্রতিটির কানেকশন সংখ্যা টেবিল আকারে পেতে চান, তবে এই স্ক্রিপ্ট ব্যবহার করুন (IIS থেকে PowerShell-এ ডেটা পেতে WebAdministration মডিউল লোড করতে হবে):

import-module webadministration
function get-CurrentConnection($Site) {
Get-Counter "web service($Site)\current connections,web service($Site)\ Bytes Received/sec,web service($Site)\Bytes Sent/sec" -ComputerName $env:COMPUTERNAME
}
$IISsites = dir IIS:\Sites | Select Name
$CurrentConnection = @()
foreach ($site in $IISsites)
{
Write-Host $site
$ConnCount = New-Object psobject | get-CurrentConnection -Site $site.name
$CurrentConnection += $ConnCount
}
$CurrentConnection|out-gridview

সকল সাইটের কানেকশন কাউন্টারের न्यুমেরিক মান দেখান (প্রথম মান হল IIS-এ টোটাল কানেকশন): Get-wmiObject -class Win32_PerfRawData_W3SVC_WebService | select-object -expand currentconnections

প্রতিটি সাইট বা পুরো ওয়েব সার্ভারের রিসিভড/সেন্ট ডেটা পরিমাণ Web service(sitename)\Bytes Received/sec এবং Web service(sitename)\Bytes Sent/sec কাউন্টার দিয়ে দেখানো যায়।

সংক্ষেপে, IIS ওয়েব সার্ভারে চলমান সাইটের লোড ইনফো পাওয়ার পদ্ধতি দেখালাম।

  1. Ping কমান্ড ব্যবহার করে সাইটের স্ট্যাটাস দেখার পদ্ধতি

  2. গুগল ড্রাইভ ফোল্ডারে কতগুলো ফাইল আছে তা দেখার ২টি কুইক টিপস

  3. ডিস্কর্ডে ইউজার রিপোর্ট করার ধাপে ধাপে গাইড

  4. Active Directory-এ ইউজারের লাস্ট লগইন টাইম নির্ধারণ - ধাপে ধাপে গাইড