Policy Serverデフォルト設定では、二種類のスレッド設定値がsmps.logにINFOレベルで以下のように出力されます。この技術情報はそれぞれのスレッド設定について説明します。
[CServer.cpp:4393][INFO] Thread pool limit: 8
[CServer.cpp:3829][INFO] ThreadPool using priority thread count : 5
Policy Server: 12.8.x
2つのメッセージはそれぞれ次のスレッド設定と対応します。
(1) High Priority Thread = ThreadPool using priority thread
(2) Normal Priority Thread = Thread pool limit
以下はそれぞれの設定について説明となります。
High Priority ThreadはWeb Agentからの新規接続要求を処理します。
これは以下のレジストリ情報で変更可能です。デフォルト: 5で、指定可能な最大値:20です。
パス: HKEY_LOCAL_MACHINE\SOFTWARE\Netegrity\SiteMinder\CurrentVersion\PolicyServer
キー: PriorityThreadCount (REG_DWORD)
Normal Priority Threadは、Web AgentからのIsProtected/Authenticated/Authorizedのリクエストを処理します。
これは管理コンソールの設定タブの「最大スレッド数」で変更可能です。
また、以下のレジストリ情報と対応します。デフォルト: 8です。(指定する値に上限はありません。環境に応じた最適値を決めてください。)
パス: HKEY_LOCAL_MACHINE\SOFTWARE\Netegrity\SiteMinder\CurrentVersion\PolicyServer
キー: Thread Pool Size (REG_DWORD)
Policy Serverのパフォーマンス上の問題などが確認される場合は、リソースの使用状況の確認を行い環境に適した最適なスレッド設定値を見つける必要があります。
Policy Serverのリソース使用状況を把握するためには、smpolicysrv -stats コマンドが利用できます。smps.logに[INFO] System Statistics 情報が記録されます。
===================================================================================
[INFO] System Statistics
[INFO] Thread pool limit: 8
[INFO] Thread pool: Msgs=0 Waits=0 Misses=0 Max HP Msg=0 Max NP Msg=0 Current Depth=0 Max
Depth=0 Current High Depth=0 Current Norm Depth=0 Current Threads=0 Max Threads=0 Busy Threads=0
[INFO] Connections: Current=0 Max=0 Limit=256 Exceeded limit=0
===================================================================================
通常運用において10~15分程度の間隔で実行して定常的にパフォーマンス計測することは、環境に適した最適なスレッド設定値を見つけるための望ましい方法です。
参照:smpolicysrv -stats コマンドについて - Policy server stats information