Java WS Core WSRF and WSN Performance
This document gives a brief overview of the performance of some of the WSRF and WSN operations supported by the Java WS Core component.
The Tests
The tests were performed using a simple "counter" service, i.e. a service whose resource contains a single integer that can be inspected, set and whose change can drive property value change notifications.
The operations that were tested are:
- GetRP: The average duration over 10000 invocations for a client to invoke GetResourceProperty (getting the value of the counter).
- SetRP: The average duration over 10000 invocations for a client to invoke SetResourceProperty (setting the value of the counter).
- CreateR: The average duration over 1000 invocations for a client to create a counter as a WS-Resource. We use 1000 invocations in this test and the next to achieve a manageable duration.
- DestroyR: The average duration over 1000 invocations for a client to destroy a WS-Resource counter.
- Notify: A client first subscribes to the "ResourcePropertyValueChanged" event for a particular counter. Then, we measure the average over 100 times of first setting the counter to a new value (via SetResourceProperty) and then waiting for the notification to arrive.
The Environment
The tests were performed on a Dual (2x) AMD Opteron 240 - 1.4GHz w/1MB L2 Cache, 2GB (4x512MB) PC2700 DDR333 Reg. ECC, 1x Seagate 120GB EIDE 7200 RPM, 8MB cache.
The Results
Operation | No Security | WS-Security X.509 profile | HTTPS (w/o connection reuse) | HTTPS (w/ connection reuse)1 |
---|---|---|---|---|
GetRP | 10.05 | 182.66 | 114.61 | 11.81 |
SetRP | 10.06 | 182.47 | 114.44 | 11.80 |
CreateR | 16.34 | 188.21 | 116.13 | 18.35 |
DeleteR | 14.04 | 182.21 | 113.55 | 15.48 |
Notify | 27.83 | 221.28 | 235.71 | 31.22 |
Notes: All the numbers are in milliseconds. Also, none
authorization was used in the security tests.
1 Tested against a standalone container prototype which will be distributed in the future versions of the Globus Toolkit.