Does anyone has any idea on : How Apache Axis2 handles simultaneous requests?
What I mean is if I have a WebService which helps to insert Student Record in Student Enrollment Application then what if 1000 student try to enroll at the same time through the WebService?
Please also let me know if I am supposed to read some manuals or links for this.
Thanks in advance,
Sumukh.
Tim Moores
Rancher
Joined: Sep 21, 2011
Posts: 2407
posted
0
It's not so much Axis handling requests in parallel, as the underlying servlet container handling simultaneous requests. If those requests use a shared resource (like the same DB tables), then you should pay attention to resource congestion there. For a DB, that would be things like table-level locking vs. row-level locking, and transaction handling. Not sure if that answers your question, which is rather broad; maybe you can narrow it down to something more specific.
Tim Moores wrote:It's not so much Axis handling requests in parallel, as the underlying servlet container handling simultaneous requests. If those requests use a shared resource (like the same DB tables), then you should pay attention to resource congestion there. For a DB, that would be things like table-level locking vs. row-level locking, and transaction handling. Not sure if that answers your question, which is rather broad; maybe you can narrow it down to something more specific.
Tim,
What I want to ask is : Is there any configuration level change available in Axis 2 which will allow it to follow multithreaded model?
Right now what I observe is unless the first request is finished second is not initiated.
By any chance do you how to set the scope as Request or Application or Session and also how to disable pipe lining in Axis?
Thanks,
Sumukh.
Tim Moores
Rancher
Joined: Sep 21, 2011
Posts: 2407
posted
0
If it's not a setting in the Axis Admin web app then it's something in the deployment descriptor. Either way, the Axis documentation should cover it.
HTTP pipelining is a client-side issue. Are you using the same HTTP connection for both requests? If not, then pipelining wouldn't happen to begin with.
Tim Moores wrote:If it's not a setting in the Axis Admin web app then it's something in the deployment descriptor. Either way, the Axis documentation should cover it.
HTTP pipelining is a client-side issue. Are you using the same HTTP connection for both requests? If not, then pipelining wouldn't happen to begin with.
To be more clear I am expecting multithreading support at server side .
What I want to say is, Servlet container handles all the requests multithreaded, same way SOAP engine or some responsible container in Axis 2 doing that.
I was looking into how the engine or container functions.
The question arose because I could see in logs that requests are completing one after another and we assumed that it may not be supporting multithreading.
May be what I assumed is wrong entirely.
Tim Moores
Rancher
Joined: Sep 21, 2011
Posts: 2407
posted
0
Tim Moores wrote:Have you checked that this is not a factor:
Tim Moores wrote:As I said, pipelining is a client-side feature. So it depends on how the client code accesses the WS.