on 11-21-2013 9:58 PM
Hi,
I wrote a servlet in NWDS and deployed it to a dual stack Netweaver 7.3 instance. I am accessing the servlet via a Load-UI test script with the load set to 50. It would appear that Netweaver is only allowing the servlet to process a single thread at a time. If I deploy the same code to a Tomcat server it processes requests concurrently so I know it's not a synchronization issue within the servlet code.
Is there a configuration in Netweaver that controls how many threads are allocated for processing requests for a servlet or something similar which might explain the behavior that I am seeing? I've checked the properties for ApplicationThreadManager and ThreadManager and all of the thread counts and MaxRQSize, etc are much greater than 1.
Thanks,
Steve
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Steve Snodgrass wrote:
It would appear that Netweaver is only allowing the servlet to process a single thread at a time.
Can you provide more information which led you to this conclusion?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sure.
I first used Wily Introscope to monitor the servlet and the number of concurrent invocations never rises above 1. I didn't trust this reading though so I added some debug code to the servlet as follows.
I have a static AtomicInteger which I increment at the start of the doGet method and decrement at the end of the method. Depending on the query string used to access the servlet it either returns a diagnostic page indicating the value of the AtomicInteger, or it returns a PDF file. When I use Load-UI to test concurrent users I never see the value of the AtomicInteger with a value greater than 1. When I run the same servlet in Tomcat, the value of the AtomicInteger equals the number of concurrent users assigned in my Load-UI test.
Thanks,
Steve
I started to create a scaled down version to post here and realized in doing so that I was wrong. The servlet is being run concurrently. It's just difficult to make it do so in Netweaver. Apparently the servlet executes extremely quickly even when it writes a 5 MB PDF file to the response stream. Netweaver must be buffering it whereas when it runs on Tomcat it seems that it isn't buffered, hence the difference I was seeing between I two. I added a Thread.sleep to the servlet so I could make it run a little longer and then was able to see that it can execute concurrently.
Thanks!
Hi,
Have you check this.
http://help.sap.com/saphelp_nw70/helpdata/en/47/9a3e759e2141a7b03e4f37e6c14074/content.htm
See if it helps.
Thanks
Rishi Abrol
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.