|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Request/Response messaging on WinNT - COM |
« View previous topic :: View next topic » |
Author |
Message
|
aq |
Posted: Tue Apr 16, 2002 11:37 pm Post subject: |
|
|
Apprentice
Joined: 20 Dec 2001 Posts: 47
|
Hi, i would like to ask couple question from you MQS experts...
Our current MQS enviroment platform is Windows NT - MQS 5.2, where about 90 % of messaging are made in request/response style, speed and performance is on highest priority on this enviroment.
About all of our applications that use MQS messaging are Microsoft COM based in one way or another, so we have had to develope NT service as "COM interface" between COM components and MQSeries, the service has two purpose:
1. Acts as a "trigger monitor" for COM components on response end of MQS, where it monitor the local queue where the request messages arrive, when the message arrives it make's instance of COM object and passes the message data for component instance to process. After the component instance processing is complete the service will put the response message to reply-to-queue.
2. Acts as a "COM to MQSeries" interface, where when NT service is first time started, it will create certain number of dynamic reply-to-queue where the response messages will be putted. The NT service houses pool of worker thread's that are made for serving the incoming call's from COM components, there is one reply-to-queue per worked thread.
Simple program flow:
--------------------
1. COM object calls the NT service with message data
2. NT service assigns the workead thread (and reply-to-queue) for serving the COM object's call and sends the request message to another location.
3. NT service in another location reads the request message from the local queue, instantiates COM object and passes the request data to COM object instance, the return message from COM object instance is put to reply-to-queue.
4. Back in sender end the worker thread read the response message from the reply-to-queue and returns it to COM object that started the call, the worker thread is returned to thread pool.
--------------------
This is currenty the fastests way we have found to make the request/response style of messaging, times for round-trip are on fastest about 0.3 - 0.4 seconds, but the average is about 0.4 - 0.6 seconds depending on workload.
What you think about this ? Is there some things that we could enchance to gain better performance, or is there perhaps totally better way to do this ?
Second thing is that we are currently thinking to improve the services (better logging, error handling, reporting, etc.) and one consideration has been to write the services from the cratch again, but this time with AIM interface instead of MQI, but what you think that how much would be the performance losses of using AIM instead of MQI interface ?
Regards,
aq |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|