이전 기사 "서버 성능 모니터링 - WMI"에서는 원격 통신을 통한 서버 성능 획득에 대해 소개했기 때문에(물론 로컬에서도 사용 가능), 이번 기사에서는 주로 Windows 시스템에 포함된 성능 모니터링 기능에 대해 이야기합니다- ----> ;performancecouonter.
관리 도구를 엽니다-->성능, 서버의 CPU, 프로세스 실행 시간, 디스크 용량 및 기타 성능 매개변수. 하지만 이러한 항목들만이 아니라 기술적인 도구를 추가하면 다른 성과 지표도 볼 수 있습니다.
이렇게 보면 너무 귀찮아서, 자, C#을 전달하여 이 값을 사용하여 자체 성능 모니터링을 구현합니다.
1 참조 추가:
using System.Diagnostics;
2. PerformanceCounter
public static System.Diagnostics.PerformanceCounter pc= new System.Diagnostics.PerformanceCounter(); public static System.Diagnostics.PerformanceCounter pcm= new System.Diagnostics.PerformanceCounter(); public static System.Diagnostics.PerformanceCounter pcb= new System.Diagnostics.PerformanceCounter(); public static System.Diagnostics.PerformanceCounter pcc= new System.Diagnostics.PerformanceCounter(); //我们用四个对象做不同的操作,注意:是static的,不然每次取出的数据都是初始值,如cpu利用率就是0
static CapabilityScout() ...{ pc.CategoryName = "Processor"; pc.CounterName = "% Processor Time"; pc.InstanceName = "_Total"; pc.MachineName = "."; pcm.CategoryName = "Memory"; pcm.CounterName = "% Committed Bytes In Use"; pcm.MachineName = "."; pcb.CategoryName = "Windows Media Unicast Service"; pcb.CounterName = "Allocated Bandwidth"; pcb.MachineName = "."; pcc.CategoryName = "Windows Media Unicast Service"; pcc.CounterName = "Connected Clients"; pcc.MachineName = "."; }
를 가져옵니다.
获取CPU利用率#region 获取CPU利用率 public static string getCpuUsage() ...{ string used = pc.NextValue().ToString(); return used; } #endregion 获取内存使用率#region 获取内存使用率 public static string getMemory() ...{ float used = pcm.NextValue(); return used.ToString(); } #endregion 获取WMS连接数#region 获取WMS连接数 public static string getConnectedCount() ...{ string count = pcc.NextValue().ToString(); return count; } #endregion 获取网络流量#region 获取网络流量 public static string getServerBandWidth() ...{ string bandwidth = pcb.NextValue().ToString(); return bandwidth; } #endregion
물론 여기에는 일부분만 있지만 동일한 방법을 사용하면 더 많은 성능과 프로세스 실행 조건을 얻을 수 있습니다. 하지만 한 가지 주목할 점은 얻은 데이터는 Windows에서 제공되어야 한다는 것입니다. 물론, 일부 Windows 서비스를 작성하여 시스템 성능 카운터에 추가하는 것도 .net에 매우 편리합니다.
WMI에 비하면 어떤가요? ㅎㅎ~~
위 내용은 C# 서버 성능 모니터링을 위한 성능 카운터의 코드 예제에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!