|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Oracle Database - ODBC connection for Parallel processing |
« View previous topic :: View next topic » |
Author |
Message
|
IIBTRACKER01 |
Posted: Sun May 21, 2017 5:31 am Post subject: Oracle Database - ODBC connection for Parallel processing |
|
|
Newbie
Joined: 12 Apr 2017 Posts: 4
|
Hello Guys,
I get 800000 messages to queue and for each message need to hit the database and perform lookup query if value is present or not ( Actually have 2 select statement for lookup that uses union and all and have used passthru for the same)
Now this flow hits the oracle database each time by ODBC call , and gets the result. As the volume is huge thought of processing parallel thread by adding work load management to set as 10 . But i see no difference with single and multiple thread.
i think the ODBC cal is happening on single thread so if we need to set any option on ODBC for parallel processing please let me know. Else any best guideline to follow with some link
Second question:
can we have 1000000 of 5 row value record in IIB internal global cache instead of hitting database every time , I did try this but select itself was taking quite long time not sure this would work ? |
|
Back to top |
|
 |
mqjeff |
Posted: Mon May 22, 2017 7:13 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Changing how many threads the ODBC connect/Oracle client uses won't change anything about Broker.
Each instance of a message flow is a single thread.
If you want to do parallel processing, you need to forward messages to another flow. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
IIBTRACKER01 |
Posted: Mon May 22, 2017 5:23 pm Post subject: |
|
|
Newbie
Joined: 12 Apr 2017 Posts: 4
|
Thanks for the reply. Then i wonder what is the point in having multiple instance of flow that calls oracle database with ODBC as single threaded.
As per you we need to deploy the flow in multiple execution group for parallel processing.
I believe there would be so option from IBM to achieve this
Cont we store 100000 record of 5 column record in IIB internal global cache and fetch from there. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 23, 2017 4:06 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
I'm sure you could store that many records in the global cache.
I can't say anything about what you *should* do.
You still seem to be unclear about what I said.
Presumably you have an input message that has one or more records that you need to do the key values in it. The most straight forward way to get.what you want is to put one set of key values in the message, whatever you need to execute one passthru query.
It sounds like you are already doing this. You say "I get 800000 messages to queue ". So you need to run enough instances of your message flow to process those messages in a reasonable time. Each instance of your message flow will run in a separate thread, and will process one message on your queue.
I remember that each ODbC connection created by any message flow instance will hang around for some period of time (1 minute?) to be reused by another message flow instance.
You should try setting the additional instances on your message flow to 9 (giving you a total of 10 instances), and see how that performs. _________________ chmod -R ugo-wx / |
|
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
|
|
|
|