Don,
From what you said “running 40 threads and 38 engines”… that is just barely over 1 thread per process. Is that correct? If so, I imagine your processes are working very hard with interprocess communication. Where it makes sense, I recommend consolidating your threads into fewer processes, keeping threads on a route in the same process, if at all possible.
Debra,
I am curious.. a peak throughput of 250K messages per… hour? day?
what is the time period?