服务器性能监控之性能计数器

文章来源:http://blog.csdn.net/lhfzd2004/article/details/1722379

上一篇文章《服务器性能监控之WMI》介绍了通过远程com获取服务器性能(当然也可用于本地),那么这篇主要说说windows系统自带的性能监视功能----->performancecouonter.

打开管理工具-->性能,我们可以立即看到服务器的CPU,进程运行时间,磁盘容量等性能参数走势图。然而不仅仅是这几项,我们可以通过添加技术器来查看其他的性能指标:

如果你说,这么看太麻烦了,OK,我们通过C#将这些值取出来,用于实现自身的性能监视:

1.添加引用:

usingSystem.Diagnostics;

2.创建并实例化PerformanceCounter

publicstaticSystem.Diagnostics.PerformanceCounterpc=newSystem.Diagnostics.PerformanceCounter();
publicstaticSystem.Diagnostics.PerformanceCounterpcm=newSystem.Diagnostics.PerformanceCounter();
publicstaticSystem.Diagnostics.PerformanceCounterpcb=newSystem.Diagnostics.PerformanceCounter();
publicstaticSystem.Diagnostics.PerformanceCounterpcc=newSystem.Diagnostics.PerformanceCounter();
//我们用四个对象做不同的操作,注意:是static的,不然每次取出的数据都是初始值,如cpu利用率就是0

3.构造函数

staticCapabilityScout()
...{
pc.CategoryName="Processor";
pc.CounterName="%ProcessorTime";
pc.InstanceName="_Total";
pc.MachineName=".";
pcm.CategoryName="Memory";
pcm.CounterName="%CommittedBytesInUse";
pcm.MachineName=".";
pcb.CategoryName="WindowsMediaUnicastService";
pcb.CounterName="AllocatedBandwidth";
pcb.MachineName=".";
pcc.CategoryName="WindowsMediaUnicastService";
pcc.CounterName="ConnectedClients";
pcc.MachineName=".";
}

4.获取计数器值


获取CPU利用率#region获取CPU利用率
publicstaticstringgetCpuUsage()
...{
stringused=pc.NextValue().ToString();
returnused;
}
#endregion
获取内存使用率#region获取内存使用率
publicstaticstringgetMemory()
...{
floatused=pcm.NextValue();
returnused.ToString();
}
#endregion
获取WMS连接数#region获取WMS连接数
publicstaticstringgetConnectedCount()
...{
stringcount=pcc.NextValue().ToString();
returncount;
}
#endregion
获取网络流量#region获取网络流量
publicstaticstringgetServerBandWidth()
...{
stringbandwidth=pcb.NextValue().ToString();
returnbandwidth;
}
#endregion

当然,这里只是其中及少的部分,不过通过使用同样的方式,我们可以获取更多的性能以及进程运行的情况,但是要说明的一点是,所获取的数据必定是windows服务所提供的,当然我们也可以自己写一些windows服务,添加到系统performancecounter中来,对.net来说也是非常方便的。

怎么样,和WMI比起来,是不是又方便了一些呢,呵呵~~

时间: 2024-09-22 15:21:24

服务器性能监控之性能计数器的相关文章

利用SNMP和监控宝实现vps服务器性能监控

再我们管理服务器时候windosw系统较为直观,cpu使用多少,内存用了多少带宽等等 只要在远程桌面里 的任务管理器一目了然.但是在linux环境下就没那么轻松了,尤其服务器或者vps上运行的是大型网站,如果不能及时发现服务器性能消耗,很有可能导致网站在访问高峰期,出现卡死都不知道什么情况.那么就老鹰就介绍下如何利用SNMP加监控宝实现vps性能监控,测试平台CentOS. 1.我们需要安装一个组件 NET-SNMP 命令如下: yum install net-snmp net-snmp-dev

利用SNMP和监控宝实现linux vps 服务器性能监控

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在我们管理服务器时候windosw系统较为直观,cpu使用多少,内存用了多少带宽等等 只要在远程桌面里 的任务管理器一目了然.但是在linux环境下就没那么轻松了,尤其服务器或者vps上运行的是大型网站,如果不能及时发现服务器性能消耗,很有可能导致网站在访问高峰期,出现卡死都不知道什么情况.今天介绍下如何利用SNMP加监控宝实现vps性能监控

linux中SNMP+监控宝实现简单的服务器性能监控

监控宝推荐使用NET-SNMP,所以本文也以此为例.   首先,我们安装NET-SNMP.    代码如下 复制代码 yum install net-snmp net-snmp-devel net-snmp-utils   接下来我们开始配置NET-SNMP.   在配置之前,我们需要先确认已关闭SELinux(CentOS系统注意),然后,先暂时停止NET-SNMP    代码如下 复制代码 service snmpd stop   然后,添加一个只读账户(如vpsaa.com),创建一个密码

5款服务器性能监控神器介绍 (smokeping、cacti、nagios、zabbix、ntop)

1. smokeping Smokeping 是rrdtool 的作者Tobi Oetiker 的作品,是用Perl 写的,主要是监视网络性能,包括常规的ping,用echoping监控www 服务器性能,监视dns 查询性能,监视ssh 性能等.底层也是rrdtool做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示.在企业中运用较少. 2 cacti Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. 简单的说Cacti 就是一个PH

服务器性能监控之WMI

1.WMI简介 WMI是英文WindowsManagementInstrumentation的简写,通过使用WMI,我们可以获取本地或远程服务器的性能参数和进程运行情况,以及大部分硬件信息,但前提是运行的用户要有足够的权限,如administrator组用户等.这也是做负载均衡所需要且比较方便快捷的途径. 2.使用时首先添加System.Management.dll,然后引用 usingSystem.Management; 3.定义远程访问 publicclassManagementConnec

利用windows性能计数器进行服务器性能监控

using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Threading; using System.Management; using System.Runtime.InteropServices; using System.Data; using System.Data.SqlClient; using System.Directory

服务器性能监控+邮件发送

客户端代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.ServiceProcess; using System.Text; using System.Threading; using System.Management; using System.Configuratio

Prometheus——进行服务器性能监控的一件法宝

最近一直在思考如何对线上服务做深度监控.基础的服务可用性监控很简单,定期Ping即可.但是怎样才能监控服务器的一些更加关键的数据呢?比如,每一个API Point的请求次数(QPS),最大响应时间,平均响应时间等.最终我希望实现的效果是有一个Dashboard,我可以清楚地看到各种参数曲线,对服务器的运行情况了然于胸. 绘制Dashboard不难,目前提供数据可视化的工具很多,随便选一个都能满足需要.关键问题是,怎样将整个流程打通? 服务器该以怎样的形式暴露出数据? 数据怎样被收集和存储起来?

Linux服务器性能追踪以及服务器监控常用命令

在网站性能优化中,我们经常要检查服务器的各种指标,以便快速找到害群之马.大多情况下,我们会使用cacti.nagois或者zabbix之类的监控软件,但是这类软件安装起来比较麻烦,在一个小型服务器,我们想尽快找到问题所在,还是要使用Linux提供的一些命令. 1. 内存检查:free -m 注意,重点看的是第二行,-/+ buffers/cache行,第一个数字是实际消耗的内存,第二个是实际空闲的内存. 2. 系统进程监控 top Top命令注意看输出的第二.第三行.第二行(Tasks)表示系统