I have written a basic .NET program to write to a MQ queue on an AS400 and I would like to increase the message throughput.
The programs sends about 2.5 messages per second, which is very slow. Looking into where the time is spent, the longest part of the operation is the Put.
Here is some additional information:
* The ping time to the AS400 is approx. 400ms.
* Creating each message takes less than 10ms.
* The message payload is 1250 bytes but I get the same performance with 20 byte payload.
* The link tested is 2MB.
* Additional testing was done a 45MB/200ms link. Message throughput increased to 5 messages per second which appears to be directly proportional to the latency.
Here is a snippet of the log file and I have attached the code fragment that generates it.
2008-05-15 10:09:09,657 DEBUG GMIFormat Message sent in 406ms
2008-05-15 10:09:10,063 DEBUG GMIFormat Message sent in 406ms
2008-05-15 10:09:10,469 DEBUG GMIFormat Message sent in 406ms
2008-05-15 10:09:10,860 DEBUG GMIFormat Message sent in 390ms
2008-05-15 10:09:11,266 DEBUG GMIFormat Message sent in 390ms
2008-05-15 10:09:11,672 DEBUG GMIFormat Message sent in 406ms
I can supply additional MQ configuration information if required.
Thanks in advance.
Start Free Trial