The concurrent pool stores requests that Process Server processes at the same time. The number of listeners available to process requests depends on the Max Concurrent value.
The in-memory queue stores requests in the dispatch service memory. The dispatch service moves requests into the in-memory queue when the Max Concurrent value has been reached.
When the concurrent pool has space, requests move from the in-memory queue to the concurrent pool.
You loose requests in the in-memory queue if the Secure Agent restarts unless you enable persistence.
The persistent queue stores in-memory queue requests if you enable persistence. The persistent queue holds requests in the database.
Requests move from the persistent queue to the concurrent pool when a listener frees up.
If the Secure Agent restarts and requests are only in the in-memory queue and not in the persistent queue, the requests are lost.