Optimizing the Routing Queue

Using startup switches in the MTA startup file, you can fine-turn MTA processing in of the routing queue. When the MTA starts, it starts one or more router threads to process its routing queue (gwinprog). As messages arrive in the routing queue, it starts additional routers as needed, within parameters you can set.

MTA Web Console
You can view the current contents of the routing queue from the Configuration page. Click Router under the Queue Information heading.

Adjusting the Maximum Number of Active Router Threads

By default, the MTA will continue to start additional router threads to processes messages in the routing queue as long as message traffic demands it, until as many as 16 router threads are running. Use the /maxrouters switch in the MTA startup file to control the number of router threads the MTA can start.

Set /maxrouters to a lower number to conserve resources and keep the MTA from starting more than the specified maximum number of router threads.

Adjusting the Maximum Number of Idle Router Threads

By default, after the MTA starts a router thread, it keeps it running, up to the maximum number specified by the /maxrouters switch. In a system where short bursts of heavy message traffic are followed by extended lulls, idle router threads could be consuming resources that would be better used by other processes. Use the /maxidlerouters switch in the MTA startup file to determine how many idle router threads are allowed to remain running. The default is 16 idle router threads.

Set /maxidlerouters to a lower number if you want the MTA to terminate idle router threads more quickly. Set /maxidlerouters to a higher number if you want the MTA to keep more idle router threads ready to process incoming message traffic.