Rate Limit Throttling
Particularly when running an NLU-only test, it is possible to exceed the XaaS rate limits, in which case a gRPC UNAVAILABLE
error will be issued.
The tool will attempt to respect the rate limits by remembering when the last XaaS request was issued, and then waiting an appropriate amount of time until issuing the next request so as not to exceed the limit.
To specify the rate limit for the application you are testing, use the rate_limit
keyword in the asr
and/or nlu
sections of the config, and specify an integer value representing the rate limit in requests/second. For example:
...
"nlu": {
"use_asr_results": true,
"model_uri": "urn:nuance-mix:tag:model/coffee_demo/mix.nlu?=language=eng-USA",
"wordset_path": null,
"timeout": 15,
"rate_limit": 5
}
...
By default, Mix applications have a rate limit of 2 requests/second for both ASRaaS and NLUaaS, and this is the default value used by the tool if it is not explicitly set in the config.
If a gRPC server error pertaining to exceeding the rate limit is still encounteted, the retry mechanism will kick in and the request for that particular test case will be issued again.
See rate limits in the Mix documentation for more information.