0

IIS(SharePointファーム)をWMIで監視したい。システムから次の情報を取得しようとしています。

  • CurrentConnections
  • NonAnonymousUsersPerSec
  • AnonymousUsersPerSec

私の問題は、\ Web Service(_Total)\ Anonymous User/sesと\webService(_Total)/ NonAnonymous Users / sesをに追加するときに、「信頼性とパフォーマンスモニター」(perfmon)と同じデータが必要なことです。モニター。

このモニターには、1秒あたり約20人の非匿名ユーザーと0人の匿名ユーザーが表示されています。これらの値は正しいと思います。接続の数は、perfmon-monitorとWMIクエリで同じです。

ただし、CurrentUserの値は、モニターの値とはまったく異なります。

WMIクエリを使用してこのデータを取得するにはどうすればよいですか?

Win32_PerfFormattedData_W3SVC_WebServiceクラス

SelectQuery queryCurrentUser = new SelectQuery("SELECT * FROM Win32_PerfFormattedData_W3SVC_WebService WHERE Name LIKE \"_Total\"");
  • CurrentConnections:〜150
  • NonAnonymousUsersPerSec:0
  • AnonymousUsersPerSec:0

Win32_PerfRawData_W3SVC_WebServiceクラス

SelectQuery queryCurrentUser = new SelectQuery("SELECT * FROM Win32_PerfRawData_W3SVC_WebService WHERE Name LIKE \"_Total\"");
  • CurrentConnections:〜150
  • NonAnonymousUsersPerSec:〜150000
  • AnonymousUsersPerSec:〜2000000

コード:

ManagementScope scope = new ManagementScope("\\\\" + stringServer + "\\root\\CIMV2");

//PerfRawData query
SelectQuery queryCurrentUser = new SelectQuery("SELECT * FROM Win32_PerfRawData_W3SVC_WebService WHERE Name LIKE \"_Total\"");

//PerfFormattedData query
SelectQuery queryCurrentUser = new SelectQuery("SELECT * FROM Win32_PerfFormattedData_W3SVC_WebService WHERE Name LIKE \"_Total\"");

ManagementObjectSearcher currentUsers = new ManagementObjectSearcher(scope, queryCurrentUser);
ManagementObjectCollection currentUsersCollection = currentUsers.Get();

foreach (ManagementObject queryObj in currentUsersCollection) 
{
Console.WriteLine("CurrentConnections {0}", queryObj["CurrentConnections"]);
Console.WriteLine("NonAnonymousUsersPerSec {0}", queryObj["NonAnonymousUsersPerSec"]);
Console.WriteLine("AnonymousUsersPerSec {0}", queryObj["AnonymousUsersPerSec"]);
}
4

1 に答える 1

0

解決策を見つけました!

Win32_PerfFormattedData_ASPNET_ASPNETApplicationsクラス。

値はRequestsPerSecおよびAnonymousRequestsPerSec

于 2012-03-30T11:18:54.927 に答える