Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS?

Làm thế nào để nhanh chóng ước tính số lượng kết nối người dùng (phiên) hiện tại đến các trang IIS trên máy chủ web chạy trên Windows Server? Thông tin như vậy sẽ cho phép xác định và dự đoán tải trên máy chủ, chọn thời gian tốt nhất để bảo trì và cập nhật trang web, dự đoán tải của máy chủ IIS khi số lượng người dùng tăng lên.

Cách dễ nhất để xác định số phiên người dùng đang hoạt động trên trang Web IIS là sử dụng bộ đếm hiệu suất trong Windows Performance Monitor .

Mở bảng điều khiển Màn hình hiệu suất bằng cách chạy perfmon và chuyển đến phần Giám sát hiệu suất ( Công cụ giám sát -> Giám sát hiệu suất ).

Sau đó, bạn cần thêm các bộ đếm cần thiết vào cửa sổ giám sát (theo mặc định, bộ đếm tổng mức sử dụng CPU được hiển thị, nhưng bạn có thể xóa nó). Để thêm bộ đếm mới, hãy nhấp vào nút màu xanh lục trên thanh công cụ (bạn có thể thấy nó trên ảnh chụp màn hình) hoặc nhấn Ctrl + N trên bàn phím.

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS?

Trong danh sách các quầy có sẵn, hãy tìm và mở rộng Dịch vụ web tập đoàn. Trong danh mục này, chúng tôi quan tâm đến ba quầy:

  • Người dùng Ẩn danh Hiện tại - số lượng người dùng IIS ẩn danh;
  • Người dùng Không Ẩn danh Hiện tại - số lượng người dùng IIS được ủy quyền;
  • Kết nối Hiện tại - tổng số kết nối đang hoạt động trên máy chủ IIS.

Chọn bộ đếm mong muốn và trong Bản sao của các đối tượng đã chọn chọn một hoặc nhiều trang web IIS mà bạn muốn hiển thị thông tin kết nối. Thông tin về người dùng của tất cả các trang web trên máy chủ được lưu trữ trong _Tổng số ví dụ. Bây giờ bạn chỉ phải nhấp vào nút Thêm >> để di chuyển bộ đếm sang danh sách các bộ đếm sẽ được thêm vào trong ngăn bên phải.

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS?

Thêm tất cả các bộ đếm cần thiết theo cách tương tự và nhấp vào OK.

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS?

Giờ đây, thông tin về số phiên của người dùng trong bảng điều khiển Trình quản lý hiệu suất đang được hiển thị trong thời gian thực (theo mặc định, các giá trị bộ đếm được hiển thị dưới dạng đồ thị tuyến tính). Nếu bạn chọn bất kỳ bộ đếm nào trong ngăn dưới cùng, bạn có thể xem giá trị cuối cùng, trung bình, tối thiểu hoặc tối đa của nó trong một khoảng thời gian nhất định.

Bạn có thể thêm bộ đếm hiệu suất tùy chỉnh vào bảng điều khiển này và lưu chúng trong một chế độ xem riêng biệt, có thể được sử dụng sau này để truy cập nhanh vào dữ liệu tải của máy chủ web.

Bạn có thể truy cập bộ đếm hiệu suất IIS từ PowerShell. Để làm điều này, bạn có thể sử dụng lệnh ghép ngắn Get-Counter. Danh sách tất cả các bộ đếm hiệu suất Dịch vụ Web hiện có có thể được hiển thị như sau:

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

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS?

Để nhận thông tin về số lượng kết nối đang hoạt động hiện tại trên máy chủ IIS (bộ đếm \ Dịch vụ Web (*) \ Kết nối Hiện tại), hãy sử dụng lệnh sau:

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

Như bạn có thể thấy, lệnh này trả về cả tổng số kết nối đến máy chủ IIS và thống kê cho từng trang web.

Mẹo.

  • Các giá trị của một số bộ đếm có thể được hiển thị nếu bạn chỉ định chúng được phân tách bằng dấu phẩy;
  • Với –Liên tục tùy chọn, thông tin về giá trị của bộ đếm liên tục được hiển thị trong bảng điều khiển cho đến khi bạn ngắt nó bằng cách sử dụng CTRL + C.

Bạn có thể nhận được số lượng phiên hoạt động cho một trang IIS cụ thể. Ví dụ:để có được số lượng kết nối hiện tại trên một trang web có tên là Site1, hãy chạy lệnh sau:

Get-Counter "web service(Site1)\current connections" -ComputerName web-srv01

Bạn có thể chỉ định tên của máy chủ mà giá trị bộ đếm được kiểm tra. Khi bạn đang kiểm tra số lượng kết nối cục bộ trên trang web, không được phép chỉ định localhost:

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS?
Để không chỉ định tên máy chủ mỗi lần, bạn có thể sử dụng biến môi trường COMPUTERNAME:

Get-Counter "web service(Site1)\current connections" -ComputerName $env:COMPUTERNAME

Để nhận giá trị số của bộ đếm “kết nối hiện tại” của toàn bộ máy chủ web IIS (tổng số người dùng trên IIS), bạn có thể sử dụng lệnh sau:

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

Hãy thử sử dụng một tập lệnh đơn giản để tạo một số phiên bổ sung với trang web của chúng tôi và kiểm tra giá trị bộ đếm. Bạn có thể tăng số lượng kết nối đến trang web IIS bằng lệnh ghép ngắn Invoke-WebRequest hoặc bạn có thể chỉ cần mở một số cửa sổ trong trình duyệt:

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

Kiểm tra giá trị của bộ đếm kết nối hiện tại và đảm bảo rằng nó tăng lên.

Nếu một số trang web IIS đang chạy trên máy chủ và bạn cần lấy số lượng kết nối đến từng trang web đó dưới dạng bảng, bạn có thể sử dụng tập lệnh này (để nhận dữ liệu từ IIS vào PowerShell, bạn cần tải mô-đun 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

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS?

Bạn cũng có thể hiển thị các giá trị số của bộ đếm kết nối cho tất cả các trang web (giá trị đầu tiên là tổng số kết nối đến IIS):

Get-wmiObject -class Win32_PerfRawData_W3SVC_WebService | select-object -expand currentconnections

Làm thế nào để xem số phiên người dùng đang hoạt động trên trang web IIS? Bạn có thể hiển thị thông tin về lượng dữ liệu đã nhận / gửi cho từng trang web hoặc toàn bộ máy chủ web bằng cách sử dụng Web service(sitename)\Bytes Received/secWeb service(sitename)\Bytes Sent/sec quầy.

Vì vậy, chúng tôi đã xem xét một cách để nhận thông tin về tải trên các trang web chạy trên máy chủ web IIS.