The statistics the Policy Server reports through the "smpolicysrv -stats" command help monitor server health and troubleshoot performance issues.
Running "smpolicysrv -stats" writes entries such as the following to "smps.log": [8688/2216][][CServer.cpp:8242][INFO][sm-Server-02360] Server 'Stats' command received [8688/2216][][CServer.cpp:5003][INFO][sm-Server-02030] Thread pool: Msgs=0 Throughput=0.000000/sec Response Time=0.000000ms Wait Time In Queue=0.000000ms Max HP Msg=0 Max NP Msg=0 Current Depth=0 Max Depth=0 Current High Depth=0 Current Norm Depth=0 Current Threads=8 Max Threads=8 Busy Threads=0 [8688/2216][][CServer.cpp:5004][INFO][sm-Server-02040] Connections: Current=0 Max=0 Limit=256 Exceeded limit=0
Run "smpolicysrv -stats" to write runtime statistics to the "smps.log" file. Run "smpolicysrv -resetstats" to reset the counters without restarting the Policy Server. For the official explanation of both switches, see [1].
1. Thread pool statistics - "Msgs" — total number of requests removed from the queue. - "Throughput" — number of requests processed per second. - "Response Time" — average time the Policy Server takes to process a request. - "Wait Time In Queue" — average time between a request entering and leaving the queue. - "Current/Max Depth" — current and historical maximum number of messages in the queue. - "Busy Threads" — number of worker threads actively processing a request at the time of the snapshot.
For guidance on sizing the thread pool based on these statistics, see [2].
2. Connection statistics - "Current" — number of active agent connections. - "Limit" — maximum number of agent connections allowed. - "Exceeded Limit" — number of times the connection limit was surpassed.
For troubleshooting a connection limit error or for the exact registry key locations and edit procedure, see [3].
3. Related registry settings
The following registry values affect the statistics above: - "Thread Pool Initial Size" (default: 8) - "Thread Pool Size maximum" (default: 8) - "Tcp Max Server Connections" (default: 256) - "PriorityThreadCount" (default: 5; valid range: 5–20)
For "PriorityThreadCount", a value less than five or greater than 20 will set the default value.
On Linux, also confirm the "nofiles" open file descriptor limit ("ulimit -n") for the account running the Policy Server is set well above the "Tcp Max Server Connections" value.
A limit set too low causes socket errors instead of accepting connections. See [4] for the recommended "ulimit -n" value.