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