Author |
Message
|
neweric |
Posted: Wed Sep 13, 2006 10:41 pm Post subject: workflow api performance problem on mutiThread |
|
|
Newbie
Joined: 27 Feb 2006 Posts: 8
|
I found that , when threads concurrently visit workflow using api(e.g.queryProcessInstance), performance is very bad.
my production env:
1.HP unix 11
2.jdk 1.4
3.IBM websphere app server 5.1
4.IBM workflow 3.5
5.IBM mq5.2
I experimented in a test env,
initially set 3 threads, queryProcessInstance, costs 200 milliseconds per thread,
then 10 threads, costs 1 second per thread,
then 300, costs 20 second per thread, cant be endurable!
can anybody help?
I call IBM services, their technique is same as their production!! faint, they cant give me any advice.
need i create a buffer loop to handle mutithread visit? |
|
Back to top |
|
 |
neweric |
Posted: Wed Sep 13, 2006 10:43 pm Post subject: |
|
|
Newbie
Joined: 27 Feb 2006 Posts: 8
|
something add, when thread count is set 300, RTSINPUTQ will reach to 300 |
|
Back to top |
|
 |
neweric |
Posted: Wed Sep 13, 2006 10:48 pm Post subject: |
|
|
Newbie
Joined: 27 Feb 2006 Posts: 8
|
public class WmqListenerA extends Thread {
.....
listeners[i] = new WmqListenerA();
listeners[i].start();
public void run() {
wfExecutionService = agent.locate(wlvo.getGroup(), wlvo.getSystem());
wfExecutionService.logon2(
wlvo.getUserId(),
wlvo.getPassword(),
SessionMode.DEFAULT,
AbsenceIndicator.LEAVE);
while(true){
Date benchmark = new Date();
wfExecutionService = queryProcessInstance(wfExecutionService, procInstanceName);
System.out.println("$$$ query process instance cost=" + CommonUtils.calcInterval(benchmark);
}
} |
|
Back to top |
|
 |
MaheshPN |
Posted: Thu Sep 14, 2006 7:37 am Post subject: |
|
|
 Master
Joined: 21 May 2003 Posts: 245 Location: Charlotte, NC
|
Looks like u r using MQ 5.2. I would try upgrading it to 5.3 with latest CSD.
2 cent!!!
Thanks,
-Mahesh |
|
Back to top |
|
 |
jmac |
Posted: Thu Sep 14, 2006 7:40 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
You dont say how many execution servers you are running. This will definitely have an effect on how quickly things back up on RTSINPUTQ _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
neweric |
Posted: Sun Sep 17, 2006 5:46 pm Post subject: |
|
|
Newbie
Joined: 27 Feb 2006 Posts: 8
|
jmac wrote: |
You dont say how many execution servers you are running. This will definitely have an effect on how quickly things back up on RTSINPUTQ |
that's the key point!!! thanks a lot , i resolve this issue. |
|
Back to top |
|
 |
hos |
Posted: Mon Sep 18, 2006 7:12 am Post subject: |
|
|
Chevalier
Joined: 03 Feb 2002 Posts: 470
|
Hi,
one additional remark: if you want to check that your application scales you must consider much more things in your test. In your scenario you have a hotspot in the DB because all threads access the same data. Also, you always have a warmup phase in such kind of tests before you get reliable results. Bottom line: multi-threading testing is a science at its own! |
|
Back to top |
|
 |
|