You are viewing a plain text version of this content. The canonical link for it is here.
Posted to kandula-dev@ws.apache.org by Jack Wang <pi...@yahoo.com> on 2006/03/01 01:13:36 UTC

Re: Too long to commit wstm

--- Dasarath Weeratunge <dw...@purdue.edu>写道:
> Quoting Jack Wang <pi...@yahoo.com>:
> 
> > 
> > So, most of the time(94.3%) is spent for wstm to commit in the whole global
> > tx. This is strange.
> > Why so much time? 
> > 
> > I think it is important to reduce wstm's commit time at least to 5000ms. Is
> > it possible? Thanks.
> > 
> 
> There are a number of delay parameters in the ATCoordinatorImpl. For instance 
> once the prepare message has been sent, the coordinator waits for a certain 
> time before it checks whether it has received a prepared from the client. This 
> slows down things a little bit but it should not be a problem. If you want 
> things to go fast you can reduce these delays but I don't know whether that is 
> really necessary. In any case the delays should not cause the application to 
> fail. Also the coordinator only retries so many times in the Kandula 
> implementation whereas IBM for example keeps on retrying for a lot longer.
> 
> I'm still blank as to what you particular issue is. Where does it fail? What is 
> the last message your participant receives from the coordinator and what are 
> the last messages your coordinator receives from the client and participant?
> 
> --dasarath


Oh, there is no fail, just finish success. My BIG PROBLEM is too long time to finish the global
tx. I have described the problem in the previous two mails. Here I paste them again.


===== The previous email 1 ============================

I updated DEFAULT_TIMEOUT_MILLIS parameter and recompile. It did little to improve the speed.

Now I give my speed test result. The test is done in the kandula client side wich calls a ws. It
spends most of the time(9031ms) to excute wstm.commit(). This is the time record.

-------------------------------------------------------
--> 0ms <Begin>

TransactionManagerImpl wstm = TransactionManagerImpl.getInstance();
wstm.begin();
--> 32ms

po.MyService binding = new MyServiceServiceLocator().getMyService();
((MyServiceSoapBindingStub)binding).setMaintainSession(true);
--> 32ms

String result = binding.getString();
--> 547ms

wstm.commit();                 <============= Key Problem (Too Slow)
--> 9578ms <End>
-------------------------------------------------------

So, most of the time(94.3%) is spent for wstm to commit in the whole global tx. This is strange.
Why so much time? 

I think it is important to reduce wstm's commit time at least to 5000ms. Is it possible? Thanks.


===== The previous email 2 ============================

Continue the previous email, also I track the time spent in kandula, I found the 

callback.wait()   <============= Key Problem (Too Slow)

statement in o.a.k.c.at.TransactionImpl is the chief criminal, i.e. the most of the time is spent
to do wait() after wstm begin to commit(). Is it possible to adapt this mechanism ? Thanks 
Dasarath.


I have read Hannes's email. He giva another time test to kandula. I think they are the same
problem. Please help.




Wang Jun


	

	
		
___________________________________________________________ 
雅虎1G免费邮箱百分百防垃圾信 
http://cn.mail.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: kandula-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: kandula-dev-help@ws.apache.org