Tuesday, September 22, 2009

Threading in 10.1.3.3 SOA Suite

The concept of threading plays a vital role in 10.1.3.3 specially for performance issue ,the same is not applicable in 10.1.3.4 onwards

The most important thing that we have to keep in mind is the following concept

Sum of dspMAxThreads across all the domain should be less than the Receiver Threads

What does it mean?

It mean lets suppose you have three domains at your end

domain1,domain2 and domain3

the property can be found at

SOA_HOME/bpel/domains//config/domain.xml


Maximum active dispatcher threads
100

By default the value is 100.

So you need to check the dspMaxThreads for all the domain

and sum up them.Lets suppose it is 100 for each domain so sum of dsp max threads is

300.

So your receiver thread must be greater than or equal to 300

The receiver Thread can be found at following location

SOA_HOME/j2ee//application-deployments/orabpel/ejb_ob_engine/orion-ejb-jar.xml


ReceiverThreads
40


The default value is 40.It should be set to 300 atleast.

While configuring the threads we should start with some small values of dsp MaxThreads


dspMaxThreads property controls the number of instances created for Process 1....ProcessN for that particular domain.So increasing it will incrase the number of instance getting created in the domain.

however the receiverThreads determines how many active threads are there at a point of time so it makes sense to have this value greater than the sum of dspMaxthreads across all the domain.

One important thing to consider is that when ever we apply a patch

thee SOA_HOME\j2ee\oc4j_soa\application-deployments is saved as

SOA_HOME\j2ee\oc4j_soa\application-deployments.sav

and a new directory with same name as original is created

and so a new orion-ejb-jar.xml is created.

Hence when ever you apply a patch you need to remodify these things in order to work it properly.Most of the time it is the main performance issue so make sure you have tuned the threads properly.

With 10.1.3.4 onwards the threading model has changed so these changes are not required.

Infact in 10.1.3.4 the following properties are not there

dspMinThreads ,dspMaxThreads,dspInvokeAllocFactor

they have been replaced by following properties

dspInvokeThreads and dspEngineThreads

The relation ship now is different

dspInvokeThreads = dspInvokeAllocFactor * dspMaxThreads;

dspEngineThreads = dspMaxThreads - dspInvokeThreads;


From 11g not sure all these concepts have been removed as it is totally on weblogic container.

34 comments:

Surya said...

Hi ,

Thanks a lot for your post , I have a question , there are two elements in the file orion-ejb-jar.xml file where the parameter "ReceiverThreads" are defined and they are
1.<message-driven-deployment name="WorkerBean" ...> and

2.<message-driven-deployment name="InvokerBean" ...>

under which XML element we need to set the value to exceed the sum of dspMaxThreads of all the domains and what is the difference between the above two XML elements in that file ?

We are on 10.1.3.3 MLR#9 .

Thanks in Advance.

Regards
Surya

Mikku said...

HI Surya,

You will find a property

1.config-property-name ReceiverThreads config-property-name

in orion-ejb-jar.xml

It will be in the following location

ORACLE_HOME/j2ee/oc4j_soa/application-deployments/orabpel/ejb_ob_engine/orion-ejb-jar.xml

YOu have to change the value for receiver Threads so that it should be greater than the sum of dsp MaxThreads across all the domain.

for getting exact details about worker bean and Invoker bean i request you to follow the document

http://download.oracle.com/technology/tech/soa/soa_best_practices_1013x_drop3.pdf

SEction

What are the Different Types and Responsibilities of MDBs in Oracle BPEL Server?

Mikku said...

Let me know how it goes or if u further need any assistance on same.

Anirban said...

hi surya ..increase the receiver threads value under the worker beans section..as worker beans take care of all async requests that hit the Process Manager..invoker beans are only for non blocking invokes ..

Anonymous said...

Hi Arpit,

Came across your bolg as was trying to understand the thread concept in BPEL(10.1.3.3). We say that "Sum of dspMAxThreads across all the domain should be less than the Receiver Threads" but why is the discrepancy when we see the default files which get installed during installation- default values: dspMAxThreads = 100 and Receiver threads = 40.
What could be the concept behind keeping low value for Receiver threads initially?

Please clarify my doubt.

Thanks,
Shalini

Mikku said...

Shalini,Please have a look in the following note and let me know if it doesn't clear your query

http://clemensblog.blogspot.com/2007/07/soa-suite-10133-patchset-and-lost.html

Anonymous said...

My brother recommended I might like this web
site. He was entirely right. This publish actually made
my day. You cann't believe just how so much time I had spent for this info!

Thank you!

Anonymous said...

magnificent points altogether, you just received a
new reader. What would you suggest in regards to your publish that you simply made some
days ago? Any certain?

Anonymous said...

Thanks for another magnificent post. Where else may just anyone get that kind
of info in such a perfect way of writing? I have a presentation subsequent week, and I'm on the search for
such info.

Anonymous said...

You really make it seem so easy with your presentation but I find this
topic to be really something that I think I would never understand.

It seems too complicated and extremely broad for me.
I'm looking forward for your next post, I'll try to get the hang of it!

Anonymous said...

Touche. Great arguments. Keep up the good work.

Anonymous said...

Ahaa, its fastidious discussion regarding this article at this place at this blog,
I have read all that, so now me also commenting here.

Anonymous said...

It's amazing in support of me to have a site, which
is good for my knowledge. thanks admin

Anonymous said...

Hiya very cool site!! Man .. Excellent .. Superb .. I'll bookmark your site and take the feeds additionally?
I am satisfied to search out numerous useful information right here in the post, we need develop extra techniques in this regard, thanks for sharing.
. . . . .

Anonymous said...

Wow that was strange. I just wrote an extremely
long comment but after I clicked submit my comment didn't
appear. Grrrr... well I'm not writing all that over again. Anyways,
just wanted to say great blog!

Anonymous said...

I have read so many content concerning the blogger lovers except this paragraph is truly
a fastidious paragraph, keep it up.

Anonymous said...

Hiya very nice website!! Guy .. Beautiful .. Wonderful ..
I will bookmark your blog and take the feeds additionally?
I am satisfied to search out a lot of useful information right here in the submit, we want work
out extra strategies on this regard, thanks for sharing.
. . . . .

Anonymous said...

This is my first time pay a visit at here and i am actually happy to read everthing at one place.

Anonymous said...

If you desire to take a good deal from this article then you have to apply these
methods to your won webpage.

Anonymous said...

There's definately a lot to know about this issue. I love all the points you made.

Anonymous said...

At this time I am going to do my breakfast, later than having
my breakfast coming over again to read other news.

Anonymous said...

I read this article fully on the topic of the difference of latest
and earlier technologies, it's amazing article.

Anonymous said...

I love your blog.. very nice colors & theme.
Did you create this website yourself or did you hire someone to do it for you?
Plz respond as I'm looking to construct my own blog and would like to find out where u got this from.
thank you

Anonymous said...

Hello, of course this post is genuinely nice and I have learned lot of things from it on the topic of
blogging. thanks.

Anonymous said...

This page certainly has all of the info I wanted concerning this subject and didn't
know who to ask.

Anonymous said...

Does your site have a contact page? I'm having trouble locating it but,
I'd like to send you an email. I've got some creative ideas for your blog you might be
interested in hearing. Either way, great blog and I look forward to seeing it develop over time.

Anonymous said...

Normally I don't learn article on blogs, however I would like to say that this write-up very
forced me to try and do so! Your writing style has been amazed me.
Thank you, very great article.

Anonymous said...

Thank you for the auspicious writeup. It in fact was a
amusement account it. Look advanced to far added agreeable from you!
By the way, how could we communicate?

Anonymous said...

Wow, awesome weblog structure! How lengthy have you been blogging
for? you made blogging glance easy. The overall look of your website is wonderful,
let alone the content material!

Anonymous said...

It's a pity you don't have a donate button! I'd without a doubt donate
to this excellent blog! I guess for now i'll settle
for book-marking and adding your RSS feed to my Google
account. I look forward to fresh updates and
will share this blog with my Facebook group. Talk soon!

Anonymous said...

I've been exploring for a little for any high-quality articles or blog posts on this sort of
space . Exploring in Yahoo I eventually stumbled upon this
website. Studying this info So i am satisfied to show
that I have a very excellent uncanny feeling I came upon just what
I needed. I such a lot surely will make certain to don?t fail to
remember this site and give it a look on a relentless basis.

Anonymous said...

Hi, all is going perfectly here and ofcourse every one is sharing information, that's really fine, keep up writing.

Anonymous said...

Greetings! Very helpful advice in this particular article!
It's the little changes that produce the most significant changes.
Many thanks for sharing!

Anonymous said...

I really like reading a post that can make people think.
Also, many thanks for permitting me to comment!