You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ji...@apache.org on 2004/05/07 17:37:56 UTC

[jira] Created: (AXIS-1352) Performance using SSL

Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1352

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1352
    Summary: Performance using SSL
       Type: Bug

     Status: Unassigned
   Priority: Major

    Project: Axis
 Components: 
             Basic Architecture
   Versions:
             1.1

   Assignee: 
   Reporter: Richard Wafer

    Created: Fri, 7 May 2004 8:37 AM
    Updated: Fri, 7 May 2004 8:37 AM
Environment: Client Windows 2000 PRO 1GHZ 256M JDK 1.4.2_01
Server RedHat Linux 2.4 500MHz 512M JDK 1.4.2_01 Tomcat 4.1.27
Axis 1.1 versus JWSDP 1.3

Description:
Last year we have build a web service for a client that need higher performance. The service was first build with Axis 1.1 but after investigating performance problems we move to Sun's JWSDP 1.3. 

The problem is that the transport of the service must be https. So using SSL seem to kills the performance of the service. I build a testing environnement to investigate the problem.

I have build a simple Axis 1.1 Client/Server service and the same service using Sun's jwsdp 1.3.

So the servers were install in Tomcat on the server describe in the Environment.

The test clients runs on windows.

Since we need to build a new Web service I need to know if you plan to fix that issue for 1.2.

The service expose 10 methods with variable parameter length.

Here's the result:
ID is just an thread id.
GC means the time to Get the Connection on the service.
FC is the first call to the web service.
M0-M9 represent the time taken by each methods.
Total is the total time taken to invoke the 10 methods.

The size of the total parameter used for each methods is also indicated.

Using SSL (SUN's version) 1 Threads 20 chars long 100 iter:
WsBenchmarking client is started at: Tue Oct 28 17:05:56 EST 2003
The 0 thread is starting...
The 0 thread is ending...
Result of the benchmark:
ID      GC      FC      M0      M1      M2      M3      M4      M5      M6      M7      M8      M9  TOTAL
0       1156    984     10      9       9       11      13      16      17      25      43      91  244
M0:20 bytes
M1:60 bytes
M2:140 bytes
M3:300 bytes
M4:620 bytes
M5:1260 bytes
M6:2540 bytes
M7:5100 bytes
M8:10220 bytes
M9:20460 bytes
Time to run the benchmark:27328
WsBenchmarking client ended on: Tue Oct 28 17:06:23 EST 2003

Using SSL (AXIS's version) 1 Threads 20 chars long 100 iter:
WsBenchmarking client is started at: Tue Oct 28 16:47:42 EST 2003
The 0 thread is starting...
The 0 thread is ending...
Result of the benchmark:
Time to create the locator: 796
ID      GC      FC      M0      M1      M2      M3      M4      M5      M6      M7      M8      M9  TOTAL
0       47      625     205     227     225     227     199     222     228     244     253     264 2294
M0:20 bytes
M1:60 bytes
M2:140 bytes
M3:300 bytes
M4:620 bytes
M5:1260 bytes
M6:2540 bytes
M7:5100 bytes
M8:10220 bytes
M9:20460 bytes
Time to run the benchmark:231625
WsBenchmarking client ended on: Tue Oct 28 16:51:34 EST 2003

Has you can see the difference is blatant.

I think the difference is related with your implementation of https connection that close the transaction on each request while sun's implementation seem to close it only at the end.

The following represent the time taken by 200 calls over clear text transport using Sun's jwsdp 1.3:
16 16 31 15 16 31 0 16 16 15 16 0 15 16 0 16 15 0 16 0 15 16 0 15 0 16 16 15 0 16 0 0 15 0 16 0 15 0 16 16 15 0 16 16 0 15 16 15 0 16 16 0 15 0 16 0 16 15 16 15 0 16 0 16 0 15 16 0 16 0 15 0 16 0 15 16 0 16 0 15 0 16 16 15 16 0 15 47 16 0 16 0 15 16 0 15 0 16 16 15 16 0 16 0 0 16 0 15 0 16 0 16 0 15 16 0 16 0 15 16 0 15 0 16 16 0 15 0 0 16 0 15 0 16 0 47 15 0 16 0 16 0 15 0 16 0 15 16 16 15 0 16 0 16 0 15 0 16 0 15 0 16 0 16 0 15 16 16 15 0 16 0 15 0 16 0 16 0 15 0 16 0 16 0 0 16 15 0 16 0 16 0 15 0 16 0 16 0 15 16 

Average of 9 milis/call.

The following represent the time taken by 200 calls over clear text transport using Axis 1.1:
15 47 16 16 15 31 32 15 16 31 16 31 16 31 16 0 0 15 16 16 15 16 16 15 16 15 16 16 15 16 16 15 16 15 16 16 15 16 0 15 16 15 16 31 16 16 15 16 15 16 16 15 16 16 0 15 16 15 16 16 15 16 16 15 16 0 15 32 15 0 16 16 15 31 16 0 16 15 16 31 16 47 15 16 16 15 16 0 15 16 16 15 16 16 15 16 0 0 32 15 16 16 15 0 0 15 16 0 0 16 16 15 16 15 16 31 16 16 15 16 0 15 32 0 31 0 16 15 16 15 0 16 0 15 0 16 15 16 15 16 0 16 15 16 16 0 15 16 15 16 16 15 16 0 16 15 16 15 16 16 0 15 16 31 0 16 15 16 16 0 0 16 16 15 16 0 15 16 16 15 16 0 16 15 16 0 16 15 16 0 16 15 16 15 16 0 16 15 16 16

Average 14 milis/call.

The following represent the time taken by 200 calls over ssl transport using Sun's jwsdp 1.3:
16 15 32 15 32 15 16 15 0 32 0 15 16 16 0 16 0 0 16 16 15 0 16 16 0 15 16 15 0 16 16 0 15 16 16 15 0 16 15 0 31 16 0 16 15 0 16 15 16 16 0 15 16 0 16 15 0 31 0 16 16 0 15 16 0 16 15 0 16 15 0 16 16 0 15 16 0 16 15 0 16 15 32 0 15 16 16 46 0 16 16 15 16 0 16 15 0 16 15 219 16 15 0 16 16 0 15 16 0 16 15 16 0 15 16 0 0 15 0 16 16 0 15 16 15 0 32 0 15 0 16 16 0 15 16 31 16 15 0 16 0 16 15 16 0 15 0 16 31 16 0 16 0 15 16 0 15 16 0 16 0 15 16 0 0 15 16 15 0 16 16 0 15 16 0 16 0 15 16 0 15 16 16 0 15 16 16 15 0 16 15 0 16 0 0 15 0 16 16 203 <= The last call looks like every Axis one.

Average 15 milis/call.

The following represent the time taken by 200 calls over ssl transport using Axis 1.1:
235 203 188 187 203 219 188 203 203 187 313 187 204 218 203 188 203 203 203 188 219 187 203 203 203 204 187 203 203 203 204 328 172 203 203 203 203 188 218 203 204 187 203 203 203 204 187 219 187 203 204 203 328 172 203 203 203 203 188 203 203 375 250 266 218 203 204 187 203 203 203 204 203 218 188 187 407 203 203 203 203 219 187 188 203 203 203 203 204 203 203 187 203 204 203 203 203 203 203 188 203 312 188 219 187 203 203 187 204 187 203 203 219 188 203 218 188 187 219 188 218 204 203 187 203 188 188 297 219 203 203 203 187 266 234 204 218 188 203 203 203 188 203 203 203 203 203 203 204 187 219 187 203 313 437 250 188 203 203 203 203 203 375 422 203 203 203 204 203 203 187 203 204 203 203 203 203 203 313 343 266 203 172 187 203 203 204 187 203 203 203 204 203 203 203 187 204 203 203 203 

Average 211 milis/call. 


If your need more information let me know.  







---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Closed: (AXIS-1352) Performance using SSL

Posted by ji...@apache.org.
Message:

   The following issue has been closed.

   Resolver: Davanum Srinivas
       Date: Fri, 7 May 2004 9:56 AM

The performance problem has been fixed in latest cvs. You will need to also use CommonsHTTPSender for the HTTP1.1 support (single SSL handshake)

thanks,
dims
---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1352

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1352
    Summary: Performance using SSL
       Type: Bug

     Status: Closed
   Priority: Major
 Resolution: FIXED

    Project: Axis
 Components: 
             Basic Architecture
   Versions:
             1.1

   Assignee: 
   Reporter: Richard Wafer

    Created: Fri, 7 May 2004 8:37 AM
    Updated: Fri, 7 May 2004 9:56 AM
Environment: Client Windows 2000 PRO 1GHZ 256M JDK 1.4.2_01
Server RedHat Linux 2.4 500MHz 512M JDK 1.4.2_01 Tomcat 4.1.27
Axis 1.1 versus JWSDP 1.3

Description:
Last year we have build a web service for a client that need higher performance. The service was first build with Axis 1.1 but after investigating performance problems we move to Sun's JWSDP 1.3. 

The problem is that the transport of the service must be https. So using SSL seem to kills the performance of the service. I build a testing environnement to investigate the problem.

I have build a simple Axis 1.1 Client/Server service and the same service using Sun's jwsdp 1.3.

So the servers were install in Tomcat on the server describe in the Environment.

The test clients runs on windows.

Since we need to build a new Web service I need to know if you plan to fix that issue for 1.2.

The service expose 10 methods with variable parameter length.

Here's the result:
ID is just an thread id.
GC means the time to Get the Connection on the service.
FC is the first call to the web service.
M0-M9 represent the time taken by each methods.
Total is the total time taken to invoke the 10 methods.

The size of the total parameter used for each methods is also indicated.

Using SSL (SUN's version) 1 Threads 20 chars long 100 iter:
WsBenchmarking client is started at: Tue Oct 28 17:05:56 EST 2003
The 0 thread is starting...
The 0 thread is ending...
Result of the benchmark:
ID      GC      FC      M0      M1      M2      M3      M4      M5      M6      M7      M8      M9  TOTAL
0       1156    984     10      9       9       11      13      16      17      25      43      91  244
M0:20 bytes
M1:60 bytes
M2:140 bytes
M3:300 bytes
M4:620 bytes
M5:1260 bytes
M6:2540 bytes
M7:5100 bytes
M8:10220 bytes
M9:20460 bytes
Time to run the benchmark:27328
WsBenchmarking client ended on: Tue Oct 28 17:06:23 EST 2003

Using SSL (AXIS's version) 1 Threads 20 chars long 100 iter:
WsBenchmarking client is started at: Tue Oct 28 16:47:42 EST 2003
The 0 thread is starting...
The 0 thread is ending...
Result of the benchmark:
Time to create the locator: 796
ID      GC      FC      M0      M1      M2      M3      M4      M5      M6      M7      M8      M9  TOTAL
0       47      625     205     227     225     227     199     222     228     244     253     264 2294
M0:20 bytes
M1:60 bytes
M2:140 bytes
M3:300 bytes
M4:620 bytes
M5:1260 bytes
M6:2540 bytes
M7:5100 bytes
M8:10220 bytes
M9:20460 bytes
Time to run the benchmark:231625
WsBenchmarking client ended on: Tue Oct 28 16:51:34 EST 2003

Has you can see the difference is blatant.

I think the difference is related with your implementation of https connection that close the transaction on each request while sun's implementation seem to close it only at the end.

The following represent the time taken by 200 calls over clear text transport using Sun's jwsdp 1.3:
16 16 31 15 16 31 0 16 16 15 16 0 15 16 0 16 15 0 16 0 15 16 0 15 0 16 16 15 0 16 0 0 15 0 16 0 15 0 16 16 15 0 16 16 0 15 16 15 0 16 16 0 15 0 16 0 16 15 16 15 0 16 0 16 0 15 16 0 16 0 15 0 16 0 15 16 0 16 0 15 0 16 16 15 16 0 15 47 16 0 16 0 15 16 0 15 0 16 16 15 16 0 16 0 0 16 0 15 0 16 0 16 0 15 16 0 16 0 15 16 0 15 0 16 16 0 15 0 0 16 0 15 0 16 0 47 15 0 16 0 16 0 15 0 16 0 15 16 16 15 0 16 0 16 0 15 0 16 0 15 0 16 0 16 0 15 16 16 15 0 16 0 15 0 16 0 16 0 15 0 16 0 16 0 0 16 15 0 16 0 16 0 15 0 16 0 16 0 15 16 

Average of 9 milis/call.

The following represent the time taken by 200 calls over clear text transport using Axis 1.1:
15 47 16 16 15 31 32 15 16 31 16 31 16 31 16 0 0 15 16 16 15 16 16 15 16 15 16 16 15 16 16 15 16 15 16 16 15 16 0 15 16 15 16 31 16 16 15 16 15 16 16 15 16 16 0 15 16 15 16 16 15 16 16 15 16 0 15 32 15 0 16 16 15 31 16 0 16 15 16 31 16 47 15 16 16 15 16 0 15 16 16 15 16 16 15 16 0 0 32 15 16 16 15 0 0 15 16 0 0 16 16 15 16 15 16 31 16 16 15 16 0 15 32 0 31 0 16 15 16 15 0 16 0 15 0 16 15 16 15 16 0 16 15 16 16 0 15 16 15 16 16 15 16 0 16 15 16 15 16 16 0 15 16 31 0 16 15 16 16 0 0 16 16 15 16 0 15 16 16 15 16 0 16 15 16 0 16 15 16 0 16 15 16 15 16 0 16 15 16 16

Average 14 milis/call.

The following represent the time taken by 200 calls over ssl transport using Sun's jwsdp 1.3:
16 15 32 15 32 15 16 15 0 32 0 15 16 16 0 16 0 0 16 16 15 0 16 16 0 15 16 15 0 16 16 0 15 16 16 15 0 16 15 0 31 16 0 16 15 0 16 15 16 16 0 15 16 0 16 15 0 31 0 16 16 0 15 16 0 16 15 0 16 15 0 16 16 0 15 16 0 16 15 0 16 15 32 0 15 16 16 46 0 16 16 15 16 0 16 15 0 16 15 219 16 15 0 16 16 0 15 16 0 16 15 16 0 15 16 0 0 15 0 16 16 0 15 16 15 0 32 0 15 0 16 16 0 15 16 31 16 15 0 16 0 16 15 16 0 15 0 16 31 16 0 16 0 15 16 0 15 16 0 16 0 15 16 0 0 15 16 15 0 16 16 0 15 16 0 16 0 15 16 0 15 16 16 0 15 16 16 15 0 16 15 0 16 0 0 15 0 16 16 203 <= The last call looks like every Axis one.

Average 15 milis/call.

The following represent the time taken by 200 calls over ssl transport using Axis 1.1:
235 203 188 187 203 219 188 203 203 187 313 187 204 218 203 188 203 203 203 188 219 187 203 203 203 204 187 203 203 203 204 328 172 203 203 203 203 188 218 203 204 187 203 203 203 204 187 219 187 203 204 203 328 172 203 203 203 203 188 203 203 375 250 266 218 203 204 187 203 203 203 204 203 218 188 187 407 203 203 203 203 219 187 188 203 203 203 203 204 203 203 187 203 204 203 203 203 203 203 188 203 312 188 219 187 203 203 187 204 187 203 203 219 188 203 218 188 187 219 188 218 204 203 187 203 188 188 297 219 203 203 203 187 266 234 204 218 188 203 203 203 188 203 203 203 203 203 203 204 187 219 187 203 313 437 250 188 203 203 203 203 203 375 422 203 203 203 204 203 203 187 203 204 203 203 203 203 203 313 343 266 203 172 187 203 203 204 187 203 203 203 204 203 203 203 187 204 203 203 203 

Average 211 milis/call. 


If your need more information let me know.  







---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira