Tim,
You mention S.C.T.Q, are you using the actual (singular) SYSTEM.CLUSTER.TRANSMIT.QUEUE or have you enabled multiple cluster transmit queues.
If you are still using the singular S.C.T.Q then I'd probably start by removing this unnecessary serialization point. In addition to removing the performance constrains of the single queue, it also makes monitoring what's happening on this specific channel/queue a little easier. The throughput of a single channel should be pretty high, and if you enable pipelining even higher (something of the effect of multiple channels). What does sampling the channel substate during the issue suggest (at both the sending and receiving end) might be the limiting factor ? Are the values for NETTIME within the expected boundaries ? Is the IO latency on the recovery log (at each end of the channel) reasonable (assuming persistent messages), ...
Similarly, there seems to be an assumption that the issue is at the sending end of the channel, while it's equally likely that the issue is with the putting end of the channel not being able to deliver the messages fast enough. Are all of most of these messages going to the same destination queue, or are they spread about across a set of queues. Have you check for any performance issues on the queues to which the messages are being delivered.
The absence of any actual numbers and details of the environment in which the issue is being observed makes it difficult to offer properly targetted advice.
Regards
Andy.
------------------------------
Andrew Hickson
------------------------------