SQL Server の高い CPU 使用率が報告された場合には、次のデータを収集します。
- 次の明確な質問への回答を取得します。
- ePOが 管理するエンド ポイントはおおよそ何台ですか?
- 3 つすべての ePO サービスを停止すると、SQL の CPU 使用率は低下しますか? リモート エージェント ハンドラーがある場合は、2 つの ePO サービスを停止する必要があります。
3 つの ePO サービスは次のとおりです。
- ePolicy Orchestrator サーバー (Apache として参照されることが多い)
- ePolicy Orchestrator イベントパーサー (Eventparser として参照されることが多い)
- ePolicy Orchestrator アプリケーション サーバー (多くの場合、Tomcat として参照されていますが、このサービスはエージェント ハンドラーに存在しません)
- すべての ePO サービスを停止すると SQL の CPU 使用率が低下する場合は、3 つのサービスのうち 1 つだけを停止することを検討してください。
たとえば、ePO サーバーとすべてのエージェント ハンドラーで Apache サービスを停止し、他のサービスを実行したままにした場合、CPU 使用率は低下しますか?
- ePO データベースをホストしている SQL Server は他のデータベースをホストしていますか?
- 次のデータを収集します。
- ePO サーバーから MER を収集します。
- システム仕様を分析できるように、SQL サーバーから次のコマンドの出力を収集します : msinfo32.exe
- SQL エラーログ。 SQL エラーログをキャプチャする方法が不明な場合は、 KB90786 の解決策 2 を参照してください。
- この記事に添付されている SQL クエリの出力を SQL RPT 形式で収集します。 データの収集方法の詳細については、KB90786 の解決策 1 を参照してください。
- SQL CPU 使用率が高いときに取られた 10 分間の SQL トレースを収集します。 次の手順に従ってください。
- ePO データベースをホストしている SQL Server で SQL Server Management Studio(SSMS) を開きます。
- [ツール]、[SQL Server プロファイラー] の順にクリックします。
- 必要に応じてパスワードを入力し、[接続] をクリックします。
- [イベントの選択] タブをクリックします。
- すべてのトレース選択を解除します。
- [すべてのイベントを表示] および [すべての列を表示] オプションをクリックします。
- [エラーと警告] を展開し、[警告の並べ替え] および [ユーザー エラー メッセージ] を選択します。
- [ロック] を展開し、[デッドロック グラフ]、[ロック:デッドロック] および [ロック:デッドロック チェーン] を選択します。
- [ストアド プロシージャ] を展開し、[RPC:Completed]、[SP:Completed]、[SP:StmtCompleted] を選択します。
- [TSQL] を展開し、[SQL:BatchCompleted] および [SQL:StmtCompleted] を選択します。
- [実行] をクリックします。
- トレースが大量の CPU を使用しているクエリに関する情報をキャプチャするまで 10 分待ちます。
- [ファイル] をクリックし、[トレースの停止] を選択します。
- [ファイル]、[名前を付けて保存] の順にクリックし、[トレース ファイル] を選択します。
- ファイル名を指定して、ファイルを保存する場所を選択します。
- [保存] をクリックします。
- ファイルを圧縮します。 トレースファイルはサイズが大きくなる場合がありますが、アーカイブ時には大幅に圧縮されます。
注: 一部の環境では、SQL トレースを簡単に収集できません。 SQL トレースを収集できる場合、SQL CPU 使用率に関する最も完全なデータセットが得られます。 ただし、環境でデータを収集できない場合は、多くの場合、手順 2 で収集したデータで十分です。
要求されたデータの妥当性:
- 添付された SQL クエリーは、最近の価値の高い SQL クエリーに関する情報を提供します。
- ノード数と SQL Server の仕様に関する情報を使用して、ePO が SQL Server を過負荷にしている可能性があるかどうかを判断できます。
- SQL トレースには、トレースの実行中に 10 分以内に完了したすべてのクエリが表示されます。 結果から、各クエリに必要な CPU サイクルの数がわかります。
- SQL エラーログには、CPU 使用率を説明するエラー条件が表示される場合があります。
- CPU の使用率を生成するためにどの ePO サービスを実行する必要があるかを理解すると、以下のいずれかを絞り込むことができます。
- クエリーが生成される ePO のコンポーネント
- 過度に CPU を消費しているコンポーネント