Heim >Backend-Entwicklung >C#.Net-Tutorial >Detaillierte Einführung in Codebeispiele von Leistungsindikatoren für die Leistungsüberwachung von C#-Servern
Im vorherigen Artikel „Serverleistungsüberwachung – WMI“ wurde die Erfassung der Serverleistung über Remote-Com vorgestellt (natürlich kann sie auch lokal verwendet werden). In diesem Artikel geht es daher hauptsächlich um die Leistungsüberwachungsfunktion, die mit dem Windows-System ausgestattet ist. ----> ;perfürmancecouonter.
Öffnen Sie das Verwaltungstool -> Leistung. Wir können sofort das Trenddiagramm der CPU des Servers, der Prozesslaufzeit usw. sehen. Festplattenkapazität und andere Leistungsparameter. Es sind jedoch nicht nur diese Elemente, wir können auch andere Leistungsindikatoren anzeigen, indem wir technische Tools hinzufügen:
Wenn Sie sagen, es ist zu mühsam, es so zu betrachten, OK, wir übergeben C# nimmt diese Werte heraus und verwendet sie, um seine eigene Leistungsüberwachung zu implementieren:
1 Fügen Sie eine -Referenz hinzu:
using System.Diagnostics;
2. Leistung erstellen und instanziierenZähler
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利用率就是03.
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 = "."; }4 Wert
获取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; } #endregionNatürlich sind hier nur einige davon, aber mit der gleichen Methode können wir mehr Leistung und Prozesslaufbedingungen erzielen, aber es ist zu beachten, dass die erhaltenen Daten sein müssen Wird vom Windows-Dienst bereitgestellt. Natürlich können wir einige Windows-Dienste auch selbst schreiben und zum Systemleistungszähler hinzufügen, was auch für .net sehr praktisch ist. Wie wäre es im Vergleich zu WMI? Haha~~
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Codebeispiele von Leistungsindikatoren für die Leistungsüberwachung von C#-Servern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!