> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# システム監視とボトルネック検出

> ABBYY FlexiCapture サーバーを監視し、メモリ、CPU、ディスク、ネットワーク、およびコンポーネントごとのメトリックに関する Windows Performance Monitor カウンターを使用してボトルネックを検出します。

システム監視には、次のものが含まれます。

* 管理および監視コンソールによる文書処理の監視
* 各 FlexiCapture サーバーコンポーネントのハードウェア監視。これには、各種 Windows Performance Monitor カウンターを使用します

無料の [Web Performance Monitor application](https://www.iis.net/downloads/community/2007/01/web-performance-monitor)、より高機能な Microsoft System Center Operations Manager、または同様のツールを使用して、システム全体のハードウェア監視を実行できます。

<div id="key-counters-for-every-computer">
  ## すべてのコンピューターの主要なカウンター
</div>

以下は、FlexiCapture 内での役割にかかわらず、すべてのコンピューターで監視すべき主要なパラメーターです。

<Note>
  1 つのリソースが不足するだけでも、どのコンポーネントでも過負荷が発生する可能性があります。たとえば、RAM が不足すると、ハードドライブが非常に集中的に使用されることがあります。そのため、ボトルネックを見つけるには、パラメーターを調査する順序が重要です。以下の順序に従ってください。
</Note>

<div id="memory">
  ### メモリ
</div>

`Memory\Available Bytes` カウンター (実行中のプロセスやハードドライブのキャッシュで使用されていないメモリ) が*常に低い*一方、`Memory\Pages/sec` カウンター (RAM をさらに確保するために、メモリ ページがハードドライブとの間で読み書きされる回数) が*絶えず変動している*場合、そのコンピューターでは RAM が不足している可能性があります。

`Process(<All instances>)\Working Set` カウンターは、各 process に割り当てられているメモリ ページ数を示します。

* 各 process が大量のメモリを占有し、使用可能なメモリの合計が少なくなることはありますが、それだけでシステムのメモリ不足を意味するわけではありません。
* *ただし、複数の process のワーキング セットが増加し、他の process ではわずかに減少していて、使用可能なメモリ量が少なく、さらに `Pages/sec` カウンターが継続的に急増している場合は、RAM がボトルネックになっている可能性が高いです。*

<Note>
  32 ビット process は、システムで使用可能な RAM が十分にあっても、2 GB を超える RAM を割り当てることはできません。
</Note>

<div id="cpu">
  ### CPU
</div>

`Processor(_Total)\% Processor Time` カウンター (プロセッサがビジー状態にある時間の割合) が*長時間にわたって 80% を超えており*、`System\Processor Queue Length` カウンター (CPU キュー内のスレッド数) が CPU 数の 2 倍を超えている場合は、CPU がボトルネックになっている可能性が高いです。

`Process(<All instances>)\% Processor Time` カウンターは、どのプロセスが CPU 時間を「消費しているか」を特定するのに役立ちます。

<div id="hard-disk">
  ### ハードディスク
</div>

ハードディスクを確認する際は、システムに十分な RAM があることを確認してください (前述の[メモリ](#memory)を参照) 。

`LogicalDisk(<All instances>)\Free Megabytes` カウンターは、論理ディスクの空き容量を示します。空き容量が不足していると、システムのパフォーマンスは大幅に低下します。

`PhysicalDisk(<All instances>)\% Disk Time` カウンター (ディスクが読み取りおよび書き込み要求の処理に費やしている時間の割合) が *90% を超え*、`PhysicalDisk(<All instances>)\Avg. Disk Queue Length` カウンター (監視期間中にキュー内および処理中の要求の平均数) が *ハードドライブスレッドごとに常に 2 を超えている* 場合、ハードディスクがボトルネックになっている可能性があります。

<div id="network">
  ### ネットワーク
</div>

`Network Interface(<All instances>)\Output Queue Length` カウンター (キュー内の送信ネットワーク パケット数) が*常に 2 を超えている*場合、ネットワーク アダプターは接続待ちの状態にある可能性が高く、その結果、サーバーからのリクエストが遅延しています。

`Network Interface(<All instances>)\Packets Outbound Discarded` カウンターが*継続的に増加している*場合、チャネルに大きな負荷がかかっており、ネットワーク アダプターのバッファーですべての送信リクエストを処理しきれません。

`Network Interface(<All instances>)\Bytes Total/sec` カウンター (NIC を通過する情報量) が `Network Interface(<All instances>)\Current Bandwidth` カウンター (使用可能な NIC 帯域幅) の*65% 以上*に達した場合は、より帯域幅の広いチャネルを使用するか、ネットワークをセグメント化してチャネル内の競合を最小限に抑えてください。

<div id="counters-to-watch-by-component">
  ## コンポーネント別の監視すべきカウンター
</div>

<div id="application-server">
  ### Application Server
</div>

Application Server は、`w3wp.exe` プロセスによって提供される IIS 上のウェブサービスです。これらのプロセスのインスタンスが使用する CPU 時間とメモリ使用量を監視する必要があります。Application Server を実行しているコンピュータでは、データ接続ネットワーク (DCN) の負荷にも特に注意を払う必要があります。

IIS の負荷を把握するには、次のカウンターを使用します。

* `Web Service(Default Web Site)\Bytes Received/sec`
* `Web Service(Default Web Site)\Bytes Sent/sec`

これらの値が使用可能な DCN 帯域幅の 65% を超えた場合は、次のいずれかの対策を講じてください。

* 帯域幅を増やす
* ネットワークをセグメント化する
* IIS を実行するコンピュータを追加し、負荷を分散する

`W3SVC_W3WP(_Total)\Active Threads Count` カウンターの値 (リクエストを処理しているスレッド数) が `W3SVC_W3WP(_Total)\Maximum Threads Count` カウンターの値 (処理に使用できるスレッドの最大数) に達すると、IIS は深刻な過負荷状態です。

現在のアクティビティの急増を以前のアクティビティと比較して追跡するには、次のカウンターを使用します。

* `W3SVC_W3WP(_Total)\Active Requests` (アクティブなリクエスト数)
* `W3SVC_W3WP(_Total)\Requests/sec` (リクエスト処理速度)
* `Web Service(Default Web Site)\Current Connections` (クライアントとウェブサービス間のアクティブな接続数)

<div id="processing-server">
  ### Processing Server
</div>

Processing Server は Windows サービス (`FlexiBrSvc.exe` プロセス) です。

`FlexiCapture(Processing Server)\Cores Count` は、**Started** 状態にあるすべての Processing Station における処理用 CPU コアの総数を示します。

`FlexiCapture(Processing Server)\Free Cores` は、現在何も処理していない、使用可能な処理用 CPU コアの総数を示します。このカウンターは、ABBYY FlexiCapture に十分な処理用 CPU コアがあるかどうかを判断するのに役立ちます。

自動処理ステージにキューがあるにもかかわらず、常に一部のコアが空いていることがあります。これは、次のような理由で発生する可能性があります。

* 一部の Processing Station は特定の型のタスクを処理するように構成されているため、それらが空いていても、ほかの型のタスクに対する処理能力が不足している。
* Processing Server でボトルネックが発生している。
  * Processing Server マシンで、RAM、CPU、ハードドライブ、またはネットワーク リソースが不足していないか確認してください。
  * タスクのサイズを大きくしてください。処理コアによるタスク処理が速すぎるため、Processing Server がそれらの間でタスクを分配できません (詳細は [How to calculate the number of Processing Stations](/ja/flexi-capture/performance-guide/pg-calculate#2) を参照してください) 。

`FlexiCapture(Processing Server)\Pending Tasks` は、Application Server に要求されたものの、どの Processing Station にも割り当てられていないタスク数を示します。このようなタスクは、Processing Server Monitor では **Pending** ステータスで表示されます。

<Note>
  処理待ちタスクのキュー全体を確認できるのは、管理および監視コンソールだけです。`Pending Tasks` の値は、使用可能なコア数 (`Cores Count`) の 2 倍を超えないようにしてください。保留中のタスク数が継続的に増加している場合は、一部の Station で特定の処理オプションが無効になっているか、または Station と Server の間で通信エラーが発生していることを意味します。つまり、Server は一部の Station が稼働中であると認識していても、それらにタスクを割り当てられません。
</Note>

<div id="licensing-server">
  ### Licensing Server
</div>

Licensing Server は Windows サービス、つまり `LicensingService.exe` プロセスです。

Licensing Server の COM オブジェクトを使用してライセンスのステータスを監視できますが、ほとんどの場合、システム パフォーマンスの観点では有用なデータは得られません。

メモリ使用量に注意してください。システム内の同時クライアント数に応じて増加する可能性があります。メモリ使用量が高く、より多くのクライアントをサポートする必要がある場合は、Licensing Server を追加することを検討してください。

<div id="database-server">
  ### Database サーバー
</div>

標準のシステム監視カウンター (*上記参照*) に加え、特定のデータベースのデータを表示するカウンターも使用できます。詳細については、ご使用のDatabase サーバーのDocumentationを参照してください。

<div id="filestorage">
  ### FileStorage
</div>

FileStorage としてハードディスクを使用する場合は、標準の システム監視カウンターを使用します (*上記を参照*) 。SAN または NAS を使用している場合は、詳細についてはハードウェアのDocumentationを参照してください。

<div id="processing-stations">
  ### Processing Stations
</div>

標準のシステム カウンターを使用して、Processing Stations を監視します。
