ホームページ >バックエンド開発 >C#.Net チュートリアル >C# サーバー パフォーマンス監視用のパフォーマンス カウンターのコード例の詳細な紹介

C# サーバー パフォーマンス監視用のパフォーマンス カウンターのコード例の詳細な紹介

黄舟
黄舟オリジナル
2017-03-14 14:01:073055ブラウズ

前回の記事「サーバーパフォーマンス監視 - WMI」では、リモート com 経由でサーバーパフォーマンスを取得することを紹介しました (もちろんローカルでも使用できます)。この記事では主に Windows システムに付属するパフォーマンス監視機能について説明します --- --> formancecoonter ごとに

管理ツール --> パフォーマンスを開くと、サーバーの CPU、プロセス実行時間、ディスク容量、その他のパフォーマンス パラメーターの傾向グラフがすぐに表示されます。ただし、これらの項目だけではなく、テクニカルツールを追加することで他のパフォーマンス指標も表示できます:

「このまま見るのは面倒だ」という方は、C#を使用して取り出します独自のパフォーマンス監視を実装するには:

1. referenceを追加します:

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 = ".";
}
もちろん、ここで紹介するのはほんの一部ですが、同じ方法を使用することで、より高いパフォーマンスとプロセスの実行条件を得ることができます。ただし、注意すべき点は、取得したデータは Windows サービスによって提供される必要があるということです。もちろん、いくつかの Windows サービスを自分で作成してシステム パフォーマンス カウンターに追加することもできます。これは .net にとっても非常に便利です。

どうですか?WMIと比べて、もっと便利ですか?

以上がC# サーバー パフォーマンス監視用のパフォーマンス カウンターのコード例の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。