Axis2 POJO SOAP Web Services performance under load

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Axis2 POJO SOAP Web Services performance under load

Kris
Hello,

I have been trying to figure out the bottleneck in Axis2 that has been causing slow response times for my web service under load. Following are the details about misstep,

We have deployed POJO SOAP web services using Axis2 on Tomcat 6.0 running on 1.7.0_21. The instance has plenty of memory and CPU available. Here is what we notice,

we have an API that would return about 400K worth of static data (static for the purposes of load testing), and I have a test client that I can run in command line with some parameter that would invoke this API and returns response in about 200-500 ms.  However when I also run JMeter with 20 requests/sec, the response times shoot up to 3-5 seconds and I can’t seem to figure out why. There is plenty of memory and CPU, and the JMeter is running on a completely different PC than my command line application, but the command line application all of a sudden starts showing high response times as you can see below,

(Response time is 5th column)
                                               
2015-06-02 12:31:01,216 0 2015-06-02 12:30:52,307 2015-06-02 12:31:01,215 8908 36
2015-06-02 12:31:03,870 1 2015-06-02 12:31:03,216 2015-06-02 12:31:03,870 654 36
2015-06-02 12:31:06,412 2 2015-06-02 12:31:05,874 2015-06-02 12:31:06,412 538 36
2015-06-02 12:31:08,706 3 2015-06-02 12:31:08,413 2015-06-02 12:31:08,706 293 36
2015-06-02 12:31:11,137 4 2015-06-02 12:31:10,707 2015-06-02 12:31:11,137 430 36
2015-06-02 12:31:13,481 5 2015-06-02 12:31:13,138 2015-06-02 12:31:13,481 343 36
2015-06-02 12:31:15,751 6 2015-06-02 12:31:15,482 2015-06-02 12:31:15,751 269 36
2015-06-02 12:31:18,007 7 2015-06-02 12:31:17,752 2015-06-02 12:31:18,007 255 36
2015-06-02 12:31:20,394 8 2015-06-02 12:31:20,008 2015-06-02 12:31:20,394 386 36
2015-06-02 12:31:22,652 9 2015-06-02 12:31:22,395 2015-06-02 12:31:22,651 256 36
2015-06-02 12:31:24,978 10 2015-06-02 12:31:24,652 2015-06-02 12:31:24,978 326 36
2015-06-02 12:31:27,197 11 2015-06-02 12:31:26,979 2015-06-02 12:31:27,197 218 36
2015-06-02 12:31:29,492 12 2015-06-02 12:31:29,198 2015-06-02 12:31:29,491 293 36
2015-06-02 12:31:31,793 13 2015-06-02 12:31:31,492 2015-06-02 12:31:31,793 301 36
2015-06-02 12:31:34,201 14 2015-06-02 12:31:33,797 2015-06-02 12:31:34,200 403 36
2015-06-02 12:31:36,613 15 2015-06-02 12:31:36,201 2015-06-02 12:31:36,613 412 36
2015-06-02 12:31:38,985 16 2015-06-02 12:31:38,613 2015-06-02 12:31:38,985 372 36
2015-06-02 12:31:46,273 17 2015-06-02 12:31:40,986 2015-06-02 12:31:46,273 5287 36
2015-06-02 12:31:52,985 18 2015-06-02 12:31:48,279 2015-06-02 12:31:52,985 4706 36
2015-06-02 12:31:59,411 19 2015-06-02 12:31:54,986 2015-06-02 12:31:59,411 4425 36
2015-06-02 12:32:04,024 20 2015-06-02 12:32:01,412 2015-06-02 12:32:04,024 2612 36
2015-06-02 12:32:08,579 21 2015-06-02 12:32:06,025 2015-06-02 12:32:08,579 2554 36
2015-06-02 12:32:12,383 22 2015-06-02 12:32:10,580 2015-06-02 12:32:12,357 1777 36
2015-06-02 12:32:17,115 23 2015-06-02 12:32:14,384 2015-06-02 12:32:17,115 2731 36
2015-06-02 12:32:21,188 24 2015-06-02 12:32:19,115 2015-06-02 12:32:21,188 2073 36
2015-06-02 12:32:25,074 25 2015-06-02 12:32:23,189 2015-06-02 12:32:25,073 1884 36
2015-06-02 12:32:28,785 26 2015-06-02 12:32:27,074 2015-06-02 12:32:28,785 1711 36
2015-06-02 12:32:32,282 27 2015-06-02 12:32:30,786 2015-06-02 12:32:32,282 1496 36


I can definitely tell based on my tests that there is some kind of bottleneck somewhere and I can’t seem to be able to figure out what to Tune to get constant response time under load.

I am using the latest and greatest version of Axis2 for java.

Any help would be greatly appreciated.

Thanks,
-Kris
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Axis2 POJO SOAP Web Services performance under load

Meeusen, Christopher W.
I would instrument your JVM.  Use a tool like Wiley Introscope and see where the code is spending the most time executing.  

-----Original Message-----
From: Kris [mailto:[hidden email]]
Sent: Tuesday, June 02, 2015 2:19 PM
To: [hidden email]
Subject: Axis2 POJO SOAP Web Services performance under load

Hello,

I have been trying to figure out the bottleneck in Axis2 that has been causing slow response times for my web service under load. Following are the details about misstep,

We have deployed POJO SOAP web services using Axis2 on Tomcat 6.0 running on 1.7.0_21. The instance has plenty of memory and CPU available. Here is what we notice,

we have an API that would return about 400K worth of static data (static for the purposes of load testing), and I have a test client that I can run in command line with some parameter that would invoke this API and returns response in about 200-500 ms.  However when I also run JMeter with 20 requests/sec, the response times shoot up to 3-5 seconds and I can’t seem to figure out why. There is plenty of memory and CPU, and the JMeter is running on a completely different PC than my command line application, but the command line application all of a sudden starts showing high response times as you can see below,

(Response time is 5th column)
                                               
2015-06-02 12:31:01,216 0 2015-06-02 12:30:52,307 2015-06-02 12:31:01,215 8908 36
2015-06-02 12:31:03,870 1 2015-06-02 12:31:03,216 2015-06-02 12:31:03,870 654 36
2015-06-02 12:31:06,412 2 2015-06-02 12:31:05,874 2015-06-02 12:31:06,412 538 36
2015-06-02 12:31:08,706 3 2015-06-02 12:31:08,413 2015-06-02 12:31:08,706 293 36
2015-06-02 12:31:11,137 4 2015-06-02 12:31:10,707 2015-06-02 12:31:11,137 430 36
2015-06-02 12:31:13,481 5 2015-06-02 12:31:13,138 2015-06-02 12:31:13,481 343 36
2015-06-02 12:31:15,751 6 2015-06-02 12:31:15,482 2015-06-02 12:31:15,751 269 36
2015-06-02 12:31:18,007 7 2015-06-02 12:31:17,752 2015-06-02 12:31:18,007 255 36
2015-06-02 12:31:20,394 8 2015-06-02 12:31:20,008 2015-06-02 12:31:20,394 386 36
2015-06-02 12:31:22,652 9 2015-06-02 12:31:22,395 2015-06-02 12:31:22,651 256 36
2015-06-02 12:31:24,978 10 2015-06-02 12:31:24,652 2015-06-02 12:31:24,978 326 36
2015-06-02 12:31:27,197 11 2015-06-02 12:31:26,979 2015-06-02 12:31:27,197 218 36
2015-06-02 12:31:29,492 12 2015-06-02 12:31:29,198 2015-06-02 12:31:29,491 293 36
2015-06-02 12:31:31,793 13 2015-06-02 12:31:31,492 2015-06-02 12:31:31,793 301 36
2015-06-02 12:31:34,201 14 2015-06-02 12:31:33,797 2015-06-02 12:31:34,200 403 36
2015-06-02 12:31:36,613 15 2015-06-02 12:31:36,201 2015-06-02 12:31:36,613 412 36
2015-06-02 12:31:38,985 16 2015-06-02 12:31:38,613 2015-06-02 12:31:38,985 372 36
2015-06-02 12:31:46,273 17 2015-06-02 12:31:40,986 2015-06-02 12:31:46,273 5287 36
2015-06-02 12:31:52,985 18 2015-06-02 12:31:48,279 2015-06-02 12:31:52,985 4706 36
2015-06-02 12:31:59,411 19 2015-06-02 12:31:54,986 2015-06-02 12:31:59,411 4425 36
2015-06-02 12:32:04,024 20 2015-06-02 12:32:01,412 2015-06-02 12:32:04,024 2612 36
2015-06-02 12:32:08,579 21 2015-06-02 12:32:06,025 2015-06-02 12:32:08,579 2554 36
2015-06-02 12:32:12,383 22 2015-06-02 12:32:10,580 2015-06-02 12:32:12,357 1777 36
2015-06-02 12:32:17,115 23 2015-06-02 12:32:14,384 2015-06-02 12:32:17,115 2731 36
2015-06-02 12:32:21,188 24 2015-06-02 12:32:19,115 2015-06-02 12:32:21,188 2073 36
2015-06-02 12:32:25,074 25 2015-06-02 12:32:23,189 2015-06-02 12:32:25,073 1884 36
2015-06-02 12:32:28,785 26 2015-06-02 12:32:27,074 2015-06-02 12:32:28,785 1711 36
2015-06-02 12:32:32,282 27 2015-06-02 12:32:30,786 2015-06-02 12:32:32,282 1496 36


I can definitely tell based on my tests that there is some kind of bottleneck somewhere and I can’t seem to be able to figure out what to Tune to get constant response time under load.

I am using the latest and greatest version of Axis2 for java.

Any help would be greatly appreciated.

Thanks,
-Kris
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]