Hi,
In the GQI DxM appsettings.json
file, I found the following section:
"MessageHandlerOptions": {
"RequestTimeout": "00:15:00",
"MaxConcurrentRequests": 20,
"MaxPendingRequests": 1000
},
I couldn’t find documentation explaining these parameters.
- Could you provide details on what each parameter means, especially
MaxConcurrentRequests
? - Is there a way to monitor the number of concurrent or pending requests at runtime (e.g., through logs, metrics, or the DataMiner Cube)?
I am asking because i am trying to solve an issue, see following error:
"Message":"Failed to resolve GQI DxM version: An unknown error occurred in GQI: Too many requests. Try again later.","Stacktrace":"Error: Failed to resolve GQI DxM version: An unknown error occurred in GQI: Too many requests. Try again later.\n
Thanks in advance for your help!
Hi Kévin,
The MessageHandler for the GQI DxM makes use of a task queue and a thread pool to handle incoming messages from WebAPI (user requests).
MaxConcurrentRequests sets the size of the threadpool, in practice this means the amount of concurrent requests that can be handled within GQI.
MaxPendingRequests sets the size of the queue, once the limit is reached, GQI will drop new incoming requests.
Lastly, the RequestTimeout sets how long a request can live within GQI, once it goes over this time, this request will not be handled.
If the Queue would become too congested, increasing the MaxConcurrentRequests setting could be a viable option.