IIS 7 で実行されている負荷分散されたアプリケーション サーバーがいくつかあります。各サーバーからの Web サービス呼び出しの数を確認する必要があります。また、特定のインスタンスでこれを確認する必要があります。サーバーと通信し、特定のインスタンスでスナップショットを提供する.netに何かがありますか。ありがとう
質問する
202 次
2 に答える
0
Perfmon を使用して、呼び出し数に関する統計を追加できます。それを行ったら、タイミング データも追加できます...その後、ローカル ボックスで Perfmon を使用したり、任意の数のツールを使用してリモートで接続したりできます。
申し訳ありませんが、詳細を示すことはできません-私はそれが行われたのを見ただけで、自分で行ったわけではありません:)しかし、それはかなり簡単だと思います.
于 2012-08-21T13:23:10.373 に答える
0
また、パフォーマンス カウンターを実装する方法を示すいくつかのサンプル コード:
using System;
using System.Configuration;
using System.Diagnostics;
namespace TEST
{
// sample implementation
public static class PerformanceHelper
{
// update a performance counter value
public static void UpdateCounter(string WebMethodName, int count)
{
// to be able to turn the monitoring on or off
if (ConfigurationManager.AppSettings["PerformanceMonitor"].ToUpper() == "TRUE")
{
PerformanceCounter counter;
if (!PerformanceCounterCategory.Exists("SAMPLE"))
{
CounterCreationDataCollection listCounters = new CounterCreationDataCollection();
CounterCreationData newCounter = new CounterCreationData(WebMethodName, WebMethodName, PerformanceCounterType.NumberOfItems64);
listCounters.Add(newCounter);
PerformanceCounterCategory.Create("SAMPLE", "DESCRIPTION", new PerformanceCounterCategoryType(), listCounters);
}
else
{
if (!PerformanceCounterCategory.CounterExists(WebMethodName, "SAMPLE"))
{
CounterCreationDataCollection rebuildCounterList = new CounterCreationDataCollection();
CounterCreationData newCounter = new CounterCreationData(WebMethodName, WebMethodName, PerformanceCounterType.NumberOfItems64);
rebuildCounterList.Add(newCounter);
PerformanceCounterCategory category = new PerformanceCounterCategory("SAMPLE");
foreach (var item in category.GetCounters())
{
CounterCreationData existingCounter = new CounterCreationData(item.CounterName, item.CounterName, item.CounterType);
rebuildCounterList.Add(existingCounter);
}
PerformanceCounterCategory.Delete("SAMPLE");
PerformanceCounterCategory.Create("SAMPLE", "DESCRIPTION", new PerformanceCounterCategoryType(), rebuildCounterList);
}
}
counter = new PerformanceCounter("SAMPLE", WebMethodName, false);
if (count == -1)
counter.IncrementBy(-1);
else
counter.IncrementBy(count);
}
}
}
}
于 2012-08-21T13:40:57.737 に答える