PerformanceCounter 如何计算 IIS 网站的当前连接数?
How does PerformanceCounter count current connections to IIS website?
我们可以在windows服务器中使用C#代码或性能监视器来查看当前与IIS网站的连接。
PerformanceCounter performanceCounter = new System.Diagnostics.PerformanceCounter();
performanceCounter.CategoryName = "Web Service";
performanceCounter.CounterName = "Current Connections";
performanceCounter.InstanceName = "SMS_Collection_CFC";
string data = string.Format("{0}\t{1} = {2}", performanceCounter.CategoryName,
performanceCounter.CounterName, performanceCounter.NextValue());
这可以return连接数。
这是在计算引擎盖下的 TCP 连接数吗?我们知道有很多TCP连接状态,比如ESTABLISHED,TIME_WAIT,性能计数器在统计哪个状态?
由于没有人回答这个 post,我 post 我的发现。
在服务器中,我调用了原来post中的相关代码,结果returns574。
string data = string.Format("{0}\t{1} = {2}", performanceCounter.CategoryName,
performanceCounter.CounterName, performanceCounter.NextValue());
然后,我运行netstat command.The网站占用9010端口
netstat -an | find /i "9010"
它返回 550 个已建立的 TCP 连接。所以我猜它正在监视已建立的 TCP 连接。
我们可以在windows服务器中使用C#代码或性能监视器来查看当前与IIS网站的连接。
PerformanceCounter performanceCounter = new System.Diagnostics.PerformanceCounter();
performanceCounter.CategoryName = "Web Service";
performanceCounter.CounterName = "Current Connections";
performanceCounter.InstanceName = "SMS_Collection_CFC";
string data = string.Format("{0}\t{1} = {2}", performanceCounter.CategoryName,
performanceCounter.CounterName, performanceCounter.NextValue());
这可以return连接数。
这是在计算引擎盖下的 TCP 连接数吗?我们知道有很多TCP连接状态,比如ESTABLISHED,TIME_WAIT,性能计数器在统计哪个状态?
由于没有人回答这个 post,我 post 我的发现。
在服务器中,我调用了原来post中的相关代码,结果returns574。
string data = string.Format("{0}\t{1} = {2}", performanceCounter.CategoryName,
performanceCounter.CounterName, performanceCounter.NextValue());
然后,我运行netstat command.The网站占用9010端口
netstat -an | find /i "9010"
它返回 550 个已建立的 TCP 连接。所以我猜它正在监视已建立的 TCP 连接。