Here is an example of the 'smpolicysrv -stats' which outputs the smps.log when run:
[3524/4640][Sun Sep 17 2017 23:49:55][CServer.cpp:4747][INFO][sm-Serveor-01990] ===================================================================================
[3524/4640][Sun Sep 17 2017 23:49:55][CServer.cpp:4748][INFO][sm-Server-02000] System Statistics
[3524/4640][Sun Sep 17 2017 23:49:55][CServer.cpp:4765][INFO][sm-Server-02020] Thread pool limit: 70
[3524/4640][Sun Sep 17 2017 23:49:55][CServer.cpp:4787][INFO][sm-Server-02030] Thread pool: Msgs=36630 Throughput=0.033/sec Response Time=209.441ms Wait Time In Queue=0.077ms Max HP Msg=2 Max NP Msg=1 Current Depth=0 Max Depth=2 Current High Depth=0 Current Norm Depth=0 Current Threads=8 Max Threads=8 Busy Threads=0
[3524/4640][Sun Sep 17 2017 23:49:55][CServer.cpp:4795][INFO][sm-Server-02040] Connections: Current=0 Max=23 Limit=256 Exceeded limit=0
[3524/4640][Sun Sep 17 2017 23:49:55][CServer.cpp:4798][INFO][sm-Server-01990] ===================================================================================
- stats: This switch produces current server runtime statistics such as thread pool limit, thread pool message, and the number of connections.
- resetstats: This switch resets the current server runtime statistics without restarting the Policy Server. This switch resets the following counters
- Msgs : This is the total number of requests that have been removed from the queue.
- Throughput : Average number of request processed per second (request/per second)
- Response Time : Average response times.
- Wait Time In Queue : Average time interval between Enqueue and Dequeue of the messages (request) from the queue
- Max HP Msg : Maximum number of High Priority messages on the queue since the last reset of stats
- Max. NP Msg : Maximum number of Normal Priority messages on the queue since the last reset of stats
- Current Depth : Number of messages in the queue at the time of executing -stats
- Max Depth : Maximum number of messages in the queue since the last rest of stats
- Current High Depth : Number of High Priority messages in the queue at the time of executing -stats
- Current Norm Depth : Number of Normal Priority messages in the queue at the time of executing -stats
- Current Threads : Number of worker threads running at the time of executing -stats. This includes sum of busy and idle worker threads.
- Max Threads : Maximum number of worker thread at any time.
- Busy Threads : Number of worker threads actively processing request at the time of executing -stats
Deprecated stats information (available in older releases) :
- Waits: This is the number of times that a thread went to get a request from the queue to process, but had to wait for one to arrive.
- Misses: This is the number of times that a thread went to get a request from the queue to process, had to wait for one to arrive, but none came in before the thread went back to sleep.
- Current: current number of agent connections
- Max: Maximum number of agent connections
- Limit: Maximum allowable agent connections
- Exceeded Limit: Number of times the connection limit was exceeded.
Exceeded limit notes if the maximum agent connection limit has been reached. If further agent connections are attempted (the connections attempted past the limit will be rejected.
Some relevant registry:
Some of these parameter can be configured by modifying the registry (windows registry or sm.registry file on unix)
32 bit : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Netegrity\SiteMinder\CurrentVersion\PolicyServer\
64 bit : HKEY_LOCAL_MACHINE\SOFTWARE\Netegrity\SiteMinder\CurrentVersion\PolicyServer\
Thread Pool Initial Size
Specifies the minimum number of worker threads that Policy Server opens on startup.
Thread Pool Size
Specifies the maximum number of worker threads that can be opened.
Tcp Max Server Connections
Specifies the maximum number of allowable agent connections.
Default : 256
Number of High Priority Threads. (threads allocated to process high priority handshake messages)
Default : 5
Max : 20
A value less than five or greater than 20 disables the registry key.
Having a "Waits" value that is very close to the "Msgs" value coupled with a low "Misses" value implies that there are enough threads to handle the incoming load, but there are not too many threads configured. A high "Misses" value would indicate that you may have too many threads configured.
A large "Msgs" value coupled with a low "Waits" value and a low "Misses" value would imply that you may need to increase the number of Worker Threads.