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 bet 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 client to invoke GetResourceProperty (getting the value of the counter).
- SetRP: The average duration over 10000 invocations for client to invoke SetResourceProperty (setting the value of the counter).
- CreateR: The average duration over 1000 invocations for 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 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 |
|---|---|---|---|
| GetRP | 9.47 | 175.57 | 114.61 |
| SetRP | 9.49 | 175.29 | 114.44 |
| CreateR | 15.17 | 173.53 | 116.13 |
| DeleteR | 13.39 | 170.60 | 113.55 |
| Notify | 34.82 | 241.64 | 235.71 |