SpeechService Performance Counters

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

The following table lists speech recognition (SR), text-to-speech (TTS), and telephony-related performance counters for Speech Server. Use these counters to monitor the telephony and computational load placed on Speech Server.

Performance Counter Description Guidance

Active Application Instances

The number of active speech application instances. An application instance can be active even after the caller has been disconnected if it has extra processing to perform.

This value should not be significantly higher than the number of channels supported by the SIP peers. It can be slightly higher if the application does significant post-call processing.

Active Incoming Calls

The number of active inbound SIP call transaction sessions.

Compare with Active Outgoing Calls. The two counters combined should not be more than the channel capacity of the SIP peer. Active Applications Instances can be slightly higher than the two active call counters combined to account for post-call application processing.

Active Outgoing Calls

The number of active outbound SIP call transaction sessions.

Compare with Active Incoming Calls. The two counters combined should not be more than the channel capacity of the SIP peer. Active Applications Instances can be slightly higher than the two active call counters combined to account for post-call application processing.

Audio Bytes Received per second

The number of audio bytes received by all SR engine instances per second.

Average DTMF Recognition Latency (ms)

The running average, in milliseconds, of the time between a caller completing dual tone multi-frequency (DTMF) input and a recognition result returning from the SR engine.

This counter is application-dependent, but if the value increases above the application's normal running average for several minutes, it might indicate poor quality of service (QOS). Check other metrics, such as CPU usage and memory load, in the event logs to determine the cause. A slight increase is expected when the number of active calls increases.

Average Page Load Latency (ms)

The running average, in milliseconds, of the time between an HTTP request and the triggering of the HTML onload event. Long page load latency might indicate issues with the Web server. For example, the application in question might require an additional Web server or the pages of the application might need to be made smaller and more easily navigable.

This counter is application-dependent, but if the value increases above the application's normal running average for several minutes, it might indicate poor QOS. Check other metrics, such as CPU usage and memory load, in the event logs to determine the cause. A slight increase is expected when the number of active calls increases.

Average Recognition Latency (ms)

The running average, in milliseconds, of the time between a caller completing an utterance and a recognition result returning from the SR engine.

This counter is application-dependent, but if the value increases above the application's normal running average for several minutes, it might indicate poor QOS. Check other metrics, such as CPU usage and memory load, in the event logs to determine the cause. A slight increase is expected when the number of active calls increases.

Average Semantic Processing Latency (ms)

The running average, in milliseconds, of the time between a recognition result returning from the SR engine and the next system prompt.

This counter is application-dependent, but if the value increases above the application's normal running average for several minutes, it might indicate poor QOS. Check other metrics, such as CPU usage and memory load, in the event logs to determine the cause. A slight increase is expected when the number of active calls increases.

Average Speech Output Latency (ms)

The running average, in milliseconds, of the time between a prompt request and the user hearing the prompt.

This counter is application-dependent, but if the value increases above the application's normal running average for several minutes, it might indicate poor QOS. Check other metrics, such as CPU usage and memory load, in the event logs to determine the cause. A slight increase is expected when the number of active calls increases.

Average UPL (User-Perceived Latency) (ms)

The running average, in milliseconds, of the time between a caller completing input (for recognition, not recording purposes) and the start of the next system prompt. The includes both speech and DTMF input.

A value greater than 1500 might indicate a poor user experience. It might be due to high CPU usage or application design problems.

Average DTMF Recognition Latency (ms)

The running average, in milliseconds, of the time between a caller completing DTMF input and a recognition result returning from the SR engine.

This counter is application-dependent, but if the value increases above the application's normal running average for several minutes, it might indicate poor quality of service (QOS). Check other metrics, such as CPU usage and memory load, in the event logs to determine the cause. A slight increase is expected when the number of active calls increases.

Busy DTMF Workers

The number of DTMF recognition engines that are active.

Busy Recognition Workers

The number of SR engine instances that are active.

Busy Speech Output Workers

The number of TTS engine instances that are active.

Cache Hits

The cumulative number of requests that were loaded from the cache.

Cache Misses

The cumulative number of requests where the required resource was not already loaded in the cache.

Cache Pressure

A value calculated and used by the cache; when a high value is reached, the cache can begin unloading resources.

Warn if greater than 90. You might need to allocate more disk space to the cache or check the disk, which might be approaching maximum capacity.

DTMF Requests

The cumulative number of DTMF requests received since the service started.

DTMF Requests Errors

The cumulative number of DTMF requests received that resulted in an error since the service started. This includes requests where no DTMF engine instance was allocated. A recognition request might result in an error (for example, if an unauthorized request was made or no DTMF engine was available to service the request).

Check the event log for errors.

DTMF Requests per second

The average number of DTMF requests received by the service per second.

Recognition Requests

The cumulative number of recognition requests received since the service started.

Recognition Requests Errors

The cumulative number of recognition requests received that resulted in an error since the service started. This includes requests where no SR engine instance was allocated. A recognition request might result in an error (for example, if an unauthorized request was made or no SR engine was available to service the request).

Check the event log for errors.

Recognition Requests per second

The average number of recognition requests received by the service per second.

Rejected TIM Audio Connections

The cumulative number of rejected audio connections requested by Telephony Interface Manager (TIM) since the service started.

A request for an audio connection might be rejected (for example, if it contains an invalid URI or cannot be identified with a current SES session). A sharp, significant increase in this counter indicates the probability of an attempted denial of service (DOS) attack on the audio port. In this case, SES also populates the event log with warnings that an incoming audio connection was rejected.

Check the event log for errors.

SALT Average Page Load Latency

The running average, in milliseconds, of the time between an HTTP request and the triggering of the HTML onload event for the SALT voice response applications.

A long page load latency might indicate issues with the Web server.

SALT Script Compilations

The total number of times an application script required compilation since the service started. This counter is incremented only for successful compilations. In general, script compilation should occur only the first time a page is loaded or during an application domain recycle. High counters in this area might indicate that dynamic page content is having an adverse effect on performance.

A value greater than 1 per 100 calls might cause excessive process recycling due to the system reaching memory limits.

Speech Output Requests

The cumulative number of TTS requests received since the service started.

Speech Output Requests Errors

The cumulative number of recognition requests received that resulted in an error since the service started. This includes requests where no TTS engine instance was allocated. A recognition request might result in an error (for example, if an unauthorized request was made or no TTS engine was available to service the request).

Check the event log for errors.

Speech Output Requests per second

The average number of TTS requests received by the service per second.

Total Audio Recording Requests

The total number of times the application begins recording user input (for example, for voice mail). This does not necessarily indicate that the recording completed successfully.

Total Calls

The total number of calls answered or placed by TAS since the service started.

Total Calls Transferred

The number of calls transferred by the application since the service started.

Total Errors

The cumulative number of errors (for example, recognition request denied) reported by the service.

Check the event log for errors.

Total Incoming Calls

The number of incoming calls (SIP INVITEs) received by the application since the service started.

Total Incoming Calls Answered

The number of calls answered by the application since the service started.

Total Incoming Calls Rejected

The number of incoming calls rejected by the application since the service started.

A value greater than zero might indicate that Speech Server is running out of resources. Check the event logs for details. An exception is where the application rejects calls as part of its design.

Total MSMQ Requests

The number or requests for Speech Server to run applications received through Microsoft Message Queuing (MSMQ).

Total Outbound Call Rejected

The number of outbound calls originated by the application that failed due to network resource constraints.

A non-zero value might indicate insufficient dedicated outbound channels on the SIP peers.

Total Outbound Calls Placed

The number of outgoing calls placed by the application since the service started.

Total Unauthorized HTTP Requests

The number of unauthorized HTTP requests for Speech Server to run applications.

A value might indicate an administrator trying to perform a GET command on a .saltx file or a malicious user. If this number rises rapidly (greater than one per second), it could indicate a denial of service (DOS) attack.

Total Web Service Requests

The number of HTTP requests for Speech Server to run applications since the service started.

If the value increases suddenly outside the busy hour, it might indicate a DOS attack.

VoiceXML Average Document Preprocessing Latency (ms)

The average time, in milliseconds, taken to initialize VoiceXML documents.

A long document initialization latency might indicate that the document is large or contains complicated script.

VoiceXML Average Script Evaluation (ms)

The average time, in milliseconds, taken to evaluate VoiceXML scripts.

A long script evaluation latency might indicate that there are many scripts or complicated scripts.

Worker Process Recycles Performed

The cumulative number of worker process recycles performed since the service started.

If the value increases rapidly (more often than two to three times per day), it might indicate that Speech Server is overloaded or configured incorrectly. Check the event log for errors.