セールス: 1-800-867-1380

ロール内キャッシュのトラブルシューティングと診断 (Azure キャッシュ)

更新日: 2010年7月

インロール キャッシュ アプリケーションは、診断レベルを使用して診断データを収集するように構成されています。この診断レベルによって、データ収集のレベルを構成するための単一の設定を提供します。このトピックでは、インロール キャッシュ アプリケーションのトラブルシューティング手順と診断の概要を示します。

で実行されるアプリケーションは広く配布される複数インスタンスのアプリケーションであり、デバッグが困難な場合があります。このような種類のアプリケーションのトラブルシューティングには、標準以上のツールや手法が必要です。 アプリケーションのトラブルシューティングについてはここでは説明しませんが、この詳細は「Azure でのトラブルシューティング」および「Azure での診断とデバッグ」で参照することができます。これらのトピックでは、実証済みのトラブルシューティング手法について説明すると共に、詳細情報やベスト プラクティスへのリンクを示しています。収集した診断データを表示する方法詳細情報、「Azure ストレージへの診断データの保存と表示」を参照してください。

インロール キャッシュ アプリケーションでトラブルシューティングのための診断データを収集するように構成するには、診断レベルを構成することと、ロールの起動時にキャッシュの診断を構成することが必要です。このトピックでは、インロール キャッシュ アプリケーションのトラブルシューティングに関して、これらの手順の概要を示します。

インロール キャッシュ には、診断データの収集量を構成するために使用される 5 つの診断レベルが用意されています。診断レベルは 0 から 4 まであり、その数字は、キャッシュ サーバーおよびクライアントについて収集される診断情報の量を示します。各診断レベルには、インロール キャッシュ アプリケーションの正常性を監視するために使用できる、構成済みのパフォーマンス カウンター、イベント ログ、トレース、およびクラッシュ ダンプの設定が含まれています。

 

診断レベル 収集される診断データ

0

非常に重大/致命的なサーバー ログのみ。

1

使用パターン、キャッシュ システムの正常性、および潜在的なエラーの評価に役立つ診断データ。これは既定の構成レベルです。

2

すべての要求および重要なシステム情報に関する細分性の高い診断データ。

3

システム情報を含むより詳細な診断データ。

4

すべての要求とシステム情報に関する詳細度の最も高いログ。

キャッシュ診断レベルには、キャッシュ クライアントおよびキャッシュ サーバーの診断に対応する 2 種類があります。DiagnosticLevel はキャッシュ サーバーの診断を表し、ClientDiagnosticLevel はキャッシュ クライアントの診断を表します。各レベルで、構成されるパフォーマンス カウンター、ログ、トレース、およびクラッシュ ダンプの設定は異なります。これらの診断レベルはアプリケーションの ServiceConfiguration.cscfg ファイルで構成されますが、実行中のクラウド アプリケーションについては、更新された ServiceConfiguration.cscfg ファイルを展開するだけで変更できます。

キャッシュ クラスターのキャッシュ サーバー診断レベルは、ServiceConfiguration.cscfg ファイル内の、キャッシュ クラスターをホストするロールの構成セクションで指定されます。この設定は、ロールの [キャッシュ] タブでキャッシュを有効にしたときに Visual Studio によって追加され、Cache Worker Role がプロジェクトに追加されている場合は既に存在しています。既定の DiagnosticLevel は 1 で、ロールの DiagnosticLevel が存在しない場合は 1 の DiagnosticLevel が使用されます。DiagnosticLevel を変更するには、ServiceConfiguration.cscfg でロールの DiagnosticLevel 設定を変更します。次の例は、ServiceConfiguration.cscfg ファイルの WorkerRole1 セクションです。DiagnosticLevel が 1 に設定されています。

<Role name="WorkerRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for clarity... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>

次の表に、各診断レベルで収集される診断データの一覧を示します。

 

DiagnosticLevel 収集されるデータ

0

  • ログ レベル:Critical

  • パフォーマンス カウンターはありません

  • イベント ログは登録されません

  • ミニ クラッシュ ダンプ

1

2

3

4

noteメモ
インロール キャッシュ アプリケーションを エミュレーターで実行している場合、複数のロール インスタンスがあっても、すべてのロール インスタンスのトレース情報が *_IN_0 フォルダーに収集されます。この動作は仕様です。インロール キャッシュ アプリケーションが でホストされている場合、各ロール インスタンスのトレース情報は、ロール インスタンス用のそれぞれのフォルダーに格納されます。

キャッシュ クライアントの ClientDiagnosticLevel レベルは、ServiceConfiguration.cscfg ファイル内のキャッシュ クライアントであるロールの構成セクションで指定されます。この設定は、ロールがキャッシュ クライアントとして動作するように構成されているときに、インロール キャッシュ NuGet パッケージによって追加されます。

noteメモ
詳細情報 NuGet パッケージを使用したキャッシュ クライアントの構成インロール キャッシュ、「Configure a Project for Caching on Roles」を参照してください。

既定の ClientDiagnosticLevel は 1 で、ロールの ClientDiagnosticLevel が存在しない場合は 1 の ClientDiagnosticLevel が使用されます。ClientDiagnosticLevel を変更するには、ServiceConfiguration.cscfg でロールの ClientDiagnosticLevel 設定を変更します。次の例は、ServiceConfiguration.cscfg ファイルの WebRole1 セクションです。ClientDiagnosticLevel が 1 に設定されています。

<Role name="WebRole1">
  <Instances count="1" />
  <ConfigurationSettings>
    <!-- Other settings omitted for clarity... -->
    <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
  </ConfigurationSettings>
</Role>

次の表に、各クライアント診断レベルで収集される診断データの一覧を示します。

noteメモ
クライアント診断レベルのクラッシュ ダンプの設定は、Memcached クライアント shim を使用するキャッシュ クライアントにのみ関連します。クラッシュ ダンプは Memcache 以外のクライアントに対しては収集されません。Memcached クライアント shim 詳細情報は、「Azure キャッシュの Memcached ラッパー」を参照してください。

 

ClientDiagnosticLevel 収集されるデータ

0

  • ログ レベル:Critical

  • パフォーマンス カウンターはありません

  • イベント ログは登録されません

  • ミニ クラッシュ ダンプ

1

2

3

4

noteメモ
インロール キャッシュ アプリケーションを エミュレーターで実行している場合、複数のロール インスタンスがあっても、すべてのロール インスタンスのトレース情報が *_IN_0 フォルダーに収集されます。この動作は仕様です。インロール キャッシュ アプリケーションが でホストされている場合、各ロール インスタンスのトレース情報は、ロール インスタンス用のそれぞれのフォルダーに格納されます。

キャッシュ診断データの収集を開始するには、ロールの起動時に次のコードを呼び出す必要があります。キャッシュ診断データを収集するには、キャッシュ クライアントまたはキャッシュ サーバーである各ロールに、このコードを追加する必要があります。このコードをホストするのに便利な場所の 1 つとして、次の例に示しているような、ロールの OnStart オーバーライド内があります。

public override bool OnStart()
{
    DiagnosticMonitorConfiguration dmConfig = 
        DiagnosticMonitor.GetDefaultInitialConfiguration();

    // Configure the collection of cache diagnostic data.
    CacheDiagnostics.ConfigureDiagnostics(dmConfig);

    DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", 
        dmConfig);

    return base.OnStart();
}

ConfigureDiagnostics メソッドがキャッシュ診断データの収集を構成します。このメソッドが呼び出されない場合、キャッシュ診断データは収集されません。CacheDiagnostics クラスを使用するには、C:\Program Files\Microsoft SDKs\Azure\.NET SDK\2012-10\ref\Caching にある Microsoft.ApplicationServer.Caching.AzureCommon.dll への参照を追加し、次の using (または Imports) ステートメントを追加します。

using Microsoft.ApplicationServer.Caching.AzureCommon;
noteメモ
インロール キャッシュ NuGet パッケージを使用してロールがキャッシュ クライアントとして構成されている場合、Microsoft.ApplicationServer.Caching.AzureCommon.dll アセンブリ参照は既に追加されています。

既存のロールにキャッシュを追加する場合で、診断構成コードが既に存在している場合は、Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor.Start の呼び出しの前に、既存のスタートアップ コードに ConfigureDiagnostics の呼び出しを追加します。

Warning警告
インロール キャッシュ アプリケーションで診断データを収集するには、ConfigureDiagnosticsMicrosoft.WindowsAzure.Diagnostics.DiagnosticMonitor.Start の両方を呼び出すことが必要です。ロール開始時にこれらのメソッドの両方を呼び出さなかった場合、キャッシュ診断データは収集されません。

次のセクションでは、サーバーおよびクライアントの各診断レベルに含まれるパフォーマンス カウンターの一覧を示します。インロール キャッシュ および の両方のパフォーマンス カウンターが含まれています。インロール キャッシュ パフォーマンス カウンターの詳細な一覧と説明については、「インロール キャッシュを監視する (Azure キャッシュ)」を参照してください。詳細情報 パフォーマンス カウンター、「Performance Counters in the .NET Framework」を参照してください。

DiagnosticLevel 1 には、以下のパフォーマンス カウンターが含まれます。

  • \Azure Caching:ホスト\平均セカンダリ応答時間/操作マイクロ秒

  • \Azure Caching:ホスト\合計データ サイズ バイト数

  • \Azure Caching:ホスト\合計クライアント要求数

  • \Azure Caching:ホスト\合計読み取り要求数

  • \Azure Caching:ホスト\合計オブジェクト数

  • \Azure Caching:ホスト\エラーの例外の合計数

  • \Memory\Available MBytes

  • \Process(CacheService)\Page Faults/sec

    • エミュレーターで実行している場合のカウンター名: \Process(CacheServiceEmulator)\Page Faults/sec

  • \Processor(_Total)\% Processor Time

  • \.NET CLR Memory(_Global_)\% Time in GC

DiagnosticLevel 2 には、以下のパフォーマンス カウンターが含まれます。

  • \Azure Caching:ホスト\平均セカンダリ応答時間/操作マイクロ秒

  • \Azure Caching:ホスト\合計データ サイズ バイト数

  • \Azure Caching:ホスト\合計クライアント要求数

  • \Azure Caching:ホスト\合計読み取り要求数

  • \Azure Caching:ホスト\合計オブジェクト数

  • \Azure Caching:ホスト\エラーの例外の合計数

  • \Processor(_Total)\% Processor Time

  • \.NET CLR Memory(_Global_)\% Time in GC

  • \Azure Caching:ホスト\合計読み取り要求数/秒

  • \Azure Caching:ホスト\キャッシュ ミスの割合

  • \Azure Caching:ホスト\合計プライマリ データ サイズ バイト数

  • \Azure Caching:ホスト\合計割り当てディレクトリ数

  • \Azure Caching:ホスト\使用可能キャッシュ項目の割合

  • \Azure Caching:ホスト\合計使用可能キャッシュ項目数

  • \Azure Caching:ホスト\通知配信合計数

  • \Azure Caching:ホスト\解放実行の合計数

  • \Azure Caching:ホスト\解放されたメモリ合計

  • \Azure Caching:ホスト\解放されたオブジェクトの合計数

  • \Azure Caching:ホスト\期限切れオブジェクトの合計数

  • \Azure Caching:ホスト\受け付けられた要求の合計数

  • \Azure Caching:ホスト\合計書き込み操作数

  • \.NET CLR LocksAndThreads(*)\Contention Rate / sec

  • \.NET CLR Memory(*)\% Time in GC

  • \.NET CLR Memory(*)\Gen 0 heap size

  • \.NET CLR Memory(*)\Gen 1 heap size

  • \.NET CLR Memory(*)\Gen 2 heap size

  • \.NET CLR Memory(*)\Large Object Heap size

  • \Memory\Available MBytes

  • \Process(CacheService)\Page Faults/sec

    • エミュレーターで実行している場合のカウンター名: \Process(CacheServiceEmulator)\Page Faults/sec

  • \Process(*)\Thread Count

  • \Process(*)\Working Set

  • \Process(*)\Virtual Bytes

  • \Process(*)\Elapsed Time

  • \Process(*)\Page Faults/sec

  • \Network Interface(*)\Current Bandwidth

  • \Network Interface(*)\Bytes Total/sec

  • \Azure Caching:ホスト\合計接続数

  • \Azure Caching:ホスト\平均クォーラム応答時間/操作マイクロ秒

  • \Azure Caching:ホスト\合計クライアント要求数/秒

  • \Azure Caching:ホスト\通知配信合計数

  • \Azure Caching:ホスト\取得できなかった合計数

  • \Azure Caching:ホスト\合計書き込み操作数/秒

DiagnosticLevel 3 および DiagnosticLevel 4 には、以下のパフォーマンス カウンターが含まれます。

  • \.NET CLR LocksAndThreads(*)\Contention Rate / sec

  • \.NET CLR LocksAndThreads(*)\Current Queue Length

  • \.NET CLR Memory(*)\# Bytes in all Heaps

  • \.NET CLR Memory(*)\# Gen 0 Collections

  • \.NET CLR Memory(*)\# Gen 1 Collections

  • \.NET CLR Memory(*)\# Gen 2 Collections

  • \.NET CLR Memory(*)\% Time in GC

  • \.NET CLR Memory(*)\Gen 0 heap size

  • \.NET CLR Memory(*)\Gen 1 heap size

  • \.NET CLR Memory(*)\Gen 2 heap size

  • \.NET CLR Memory(*)\Large Object Heap size

  • \.NET CLR Exceptions(*)\# of Exceps Thrown

  • \Memory\Available MBytes

  • \Memory\Page Faults/sec

  • \PhysicalDisk(_Total)\% Idle Time

  • \PhysicalDisk(_Total)\Avg.Disk Queue Length

  • \Processor(_Total)\% Privileged Time

  • \Processor(_Total)\% Processor Time

  • \System\Context Switches/sec

  • \System\Processor Queue Length

  • \Process(*)\% Processor Time

  • \Process(*)\Handle Count

  • \Process(*)\Private Bytes

  • \Process(*)\Thread Count

  • \Process(*)\Working Set

  • \Process(*)\Virtual Bytes

  • \Process(*)\Elapsed Time

  • \Process(*)\Page Faults/sec

  • \Process(CacheService)\Page Faults/sec

    • エミュレーターで実行している場合のカウンター名: \Process(CacheServiceEmulator)\Page Faults/sec

  • \Network Interface(*)\Current Bandwidth

  • \Network Interface(*)\Packets/sec

  • \Network Interface(*)\Bytes Sent/sec

  • \Network Interface(*)\Bytes Received/sec

  • \Network Interface(*)\Bytes Total/sec

  • \System\System Up Time

  • \Azure Caching:ホスト\使用可能キャッシュ項目の割合

  • \Azure Caching:ホスト\合計接続数

  • \Azure Caching:ホスト\使用可能ディレクトリのパーセンテージ

  • \Azure Caching:ホスト\使用可能メモリの割合

  • \Azure Caching:ホスト\平均クォーラム応答時間/操作マイクロ秒

  • \Azure Caching:ホスト\平均セカンダリ応答時間/操作マイクロ秒

  • \Azure Caching:ホスト\キャッシュ ミスの割合

  • \Azure Caching:ホスト\ゲートウェイ処理時間

  • \Azure Caching:ホスト\ゲートウェイ エラーの割合

  • \Azure Caching:ホスト\要求処理エラーの割合

  • \Azure Caching:ホスト\合計割り当てキャッシュ項目数

  • \Azure Caching:ホスト\合計割り当てディレクトリ数

  • \Azure Caching:ホスト\合計使用可能キャッシュ項目数

  • \Azure Caching:ホスト\合計使用可能ディレクトリ数

  • \Azure Caching:ホスト\合計使用可能メモリ バイト数

  • \Azure Caching:ホスト\合計キャッシュ ミス数

  • \Azure Caching:ホスト\合計キャッシュ ミス数/秒

  • \Azure Caching:ホスト\合計クライアント要求数

  • \Azure Caching:ホスト\合計クライアント要求数/秒

  • \Azure Caching:ホスト\合計データ サイズ バイト数

  • \Azure Caching:ホスト\解放されたオブジェクトの合計数

  • \Azure Caching:ホスト\解放実行の合計数

  • \Azure Caching:ホスト\期限切れオブジェクトの合計数

  • \Azure Caching:ホスト\エラーの例外の合計数

  • \Azure Caching:ホスト\エラーの例外の合計数/秒

  • \Azure Caching:ホスト\解放されたメモリ合計

  • \Azure Caching:ホスト\通知配信合計数

  • \Azure Caching:ホスト\通知配信合計数/秒

  • \Azure Caching:ホスト\通知ポーリング要求合計数

  • \Azure Caching:ホスト\通知ポーリング合計数/秒

  • \Azure Caching:ホスト\合計オブジェクト数

  • \Azure Caching:ホスト\返されたオブジェクトの合計数

  • \Azure Caching:ホスト\返されたオブジェクトの合計数/秒

  • \Azure Caching:ホスト\合計プライマリ データ サイズ バイト数

  • \Azure Caching:ホスト\取得できなかった合計数

  • \Azure Caching:ホスト\取得できなかった合計数/秒

  • \Azure Caching:ホスト\合計取得要求数

  • \Azure Caching:ホスト\合計取得要求数/秒

  • \Azure Caching:ホスト\合計 GetAndLock 要求数

  • \Azure Caching:ホスト\合計 GetAndLock 要求数/秒

  • \Azure Caching:ホスト\解放されたメモリ合計

  • \Azure Caching:ホスト\合計読み取り要求数

  • \Azure Caching:ホスト\合計読み取り要求数/秒

  • \Azure Caching:ホスト\受け付けられた要求の合計数

  • \Azure Caching:ホスト\受け付けられた要求の合計数/秒

  • \Azure Caching:ホスト\再試行の例外の合計数

  • \Azure Caching:ホスト\再試行の例外の合計数/秒

  • \Azure Caching:ホスト\合計セカンダリ データ サイズ バイト数

  • \Azure Caching:ホスト\正常に実行された GetAndLock 要求の合計数

  • \Azure Caching:ホスト\正常に実行された GetAndLock 要求の合計数/秒

  • \Azure Caching:ホスト\合計書き込み操作数

  • \Azure Caching:ホスト\合計書き込み操作数/秒

ClientDiagnosticLevel 1 には、以下のパフォーマンス カウンターが含まれます。

  • \Azure Caching:クライアント ホスト\エラーの例外数

  • \Azure Caching:クライアント ホスト\合計ローカル キャッシュ ヒット数

  • \Azure Caching:クライアント ホスト\現在のサーバー接続数

  • \Azure Caching:クライアント ホスト\平均 Get 遅延/操作マイクロ秒

  • \Azure Caching:クライアント ホスト\平均 Put 遅延/操作マイクロ秒

  • \Azure Caching:クライアント ホスト\再試行の例外数

  • \Azure Caching:クライアント ホスト\タイムアウトの例外数

  • \Azure Caching:クライアント ホスト\要求数

  • \Processor(_Total)\% Processor Time

  • \.NET CLR Memory(_Global_)\% Time in GC

  • \Azure Caching:クライアント(*)\エラーの例外数

  • \Azure Caching:クライアント(*)\合計ローカル キャッシュ ヒット数

  • \Azure Caching:クライアント(*)\現在のサーバー接続数

  • \Azure Caching:クライアント(*)\平均 Get 遅延/操作マイクロ秒

  • \Azure Caching:クライアント(*)\平均 Put 遅延/操作マイクロ秒

  • \Azure Caching:クライアント(*)\再試行の例外数

  • \Azure Caching:クライアント(*)\タイムアウトの例外数

  • \Azure Caching:クライアント(*)\要求数

ClientDiagnosticLevel 2、3、および 4 には、以下のパフォーマンス カウンターが含まれます。

  • \Azure Caching:クライアント ホスト\要求数

  • \Azure Caching:クライアント ホスト\要求数/秒

  • \Azure Caching:クライアント ホスト\破棄されたサーバー応答数/秒

  • \Azure Caching:クライアント ホスト\エラーの例外数

  • \Azure Caching:クライアント ホスト\エラーの例外数/秒

  • \Azure Caching:クライアント ホスト\平均 Get 遅延/操作マイクロ秒

  • \Azure Caching:クライアント ホスト\平均 Put 遅延/操作マイクロ秒

  • \Azure Caching:クライアント ホスト\平均 Get 遅延 (ネットワーク)/操作マイクロ秒

  • \Azure Caching:クライアント ホスト\読み取り要求数

  • \Azure Caching:クライアント ホスト\書き込み要求数

  • \Azure Caching:クライアント ホスト\受信バイト数/秒

  • \Azure Caching:クライアント ホスト\送信バイト数/秒

  • \Azure Caching:クライアント ホスト\現在のサーバー接続数

  • \Azure Caching:クライアント ホスト\ローカル キャッシュの処理割合

  • \Azure Caching:クライアント ホスト\ローカル キャッシュ ヒットの割合

  • \Azure Caching:クライアント ホスト\合計ローカル キャッシュ ヒット数

  • \Azure Caching:クライアント ホスト\合計ローカル キャッシュ オブジェクト数

  • \Azure Caching:クライアント ホスト\通知受信合計数

  • \Azure Caching:クライアント ホスト\タイムアウトの例外数

  • \Azure Caching:クライアント ホスト\タイムアウトの例外数/秒

  • \Azure Caching:クライアント ホスト\再試行の例外数

  • \Azure Caching:クライアント ホスト\再試行の例外数/秒

  • \Azure Caching:クライアント ホスト\失敗した接続要求の合計数

  • \Azure Caching:クライアント ホスト\ネットワークの例外数

  • \Azure Caching:クライアント ホスト\ネットワークの例外数/秒

  • \Azure Caching:クライアント ホスト\現在待機中の要求数

  • \Processor(_Total)\% Processor Time

  • \.NET CLR Memory(_Global_)\% Time in GC

  • \Azure Caching:クライアント(*)\要求数

  • \Azure Caching:クライアント(*)\要求数/秒

  • \Azure Caching:クライアント(*)\破棄されたサーバー応答数/秒

  • \Azure Caching:クライアント(*)\エラーの例外数

  • \Azure Caching:クライアント(*)\エラーの例外数/秒

  • \Azure Caching:クライアント(*)\平均 Get 遅延/操作マイクロ秒

  • \Azure Caching:クライアント(*)\平均 Put 遅延/操作マイクロ秒

  • \Azure Caching:クライアント(*)\平均 Get 遅延 (ネットワーク)/操作マイクロ秒

  • \Azure Caching:クライアント(*)\読み取り要求数

  • \Azure Caching:クライアント(*)\書き込み要求数

  • \Azure Caching:クライアント(*)\受信バイト数/秒

  • \Azure Caching:クライアント(*)\送信バイト数/秒

  • \Azure Caching:クライアント(*)\現在のサーバー接続数

  • \Azure Caching:クライアント(*)\ローカル キャッシュの処理割合

  • \Azure Caching:クライアント(*)\ローカル キャッシュ ヒットの割合

  • \Azure Caching:クライアント(*)\合計ローカル キャッシュ ヒット数

  • \Azure Caching:クライアント(*)\合計ローカル キャッシュ オブジェクト数

  • \Azure Caching:クライアント(*)\通知受信合計数

  • \Azure Caching:クライアント(*)\タイムアウトの例外数

  • \Azure Caching:クライアント(*)\タイムアウトの例外数/秒

  • \Azure Caching:クライアント(*)\再試行の例外数

  • \Azure Caching:クライアント(*)\再試行の例外数/秒

  • \Azure Caching:クライアント(*)\失敗した接続要求の合計数

  • \Azure Caching:クライアント(*)\ネットワークの例外数

  • \Azure Caching:クライアント(*)\ネットワークの例外数/秒

  • \Azure Caching:クライアント(*)\現在待機中の要求数

関連項目

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました
表示:
© 2014 Microsoft