|
|
YOUR FEEDBACK
SOA World Conference
Virtualization Conference $50 Savings Expire June 24, 2008... – Register Today! Did you read today's front page stories & breaking news?
SYS-CON.TV |
TODAY'S TOP SOA & WEBSERVICES LINKS Open Source
A Performance Comparison of Popular Open Source Web Services Engines
We really are making progress
Oct. 8, 2007 02:00 PM
Digg This!
Page 2 of 3
« previous page
next page »
Overview of the Test Application To ensure a fair basis for a comparative study, an XML Schema representing a collection of "Employee" objects was first defined. Each "Employee" object contained nine variables, all of which were of simple types (Figure 1). This schema was used to follow a schema-driven development process for all five test cases explored by this article. To ensure that our performance figures aren't biased by external environmental factors such as network latency, the clients invoked their corresponding Web Service from the same machine hosting the Web Services. To quantitatively measure the performance of both the Binding Framework and the SOAP engine, the system time with millisecond accuracy was recorded at the following critical points along the request-response flow:
Each test case was put through a two-phased standard procedure to quantitatively measure its performance and give us a fair basis for a comparative analysis. The procedure was designed to measure the performance of each case with different object sizes ranging from a collection with 1,000 records to one with 5,000 records. The objects were created by the client prior to the service invocation and were populated with randomly generated data to avoid the possibility of any pattern-based optimizations. In the first phase, a single client was used to invoke the Web Service and the time taken to un-marshal the incoming message into objects, marshal the objects into a message, and complete a round-trip were determined. To do this, the service was first invoked three times, off-the-record, to warm up the JVM. This was followed by three more runs for which data was recorded. The average of these three runs was recorded as the result. This procedure was carried out for each test case, with five different object sizes (1,000, 2,000, 3,000, 4,000, and 5,000 records). In the second phase, the load test simulated 10 users simultaneously and repeatedly invoking the Web Service for a period of one minute. The recorded results were then used to generate reports and study the scalability, throughput, and speed of the test cases.
Performance Metrics
Un-marshalling Performance It's interesting to note that XFire with JibX, on average, fared four times better than its nearest competitor, Axis2 with JibX.
Marshalling Performance Axis 1.4 was the worst, doing four times worse than XFire with JibX. XFire with JaxB fared quite badly too - taking about twice as much time as XFire with JibX.
Round-Trip Performance
Although Axis2+ADB match their performance for small datasets, Figure 5 shows that its performance takes a hit with larger datasets. We consistently saw that XFire with JibX was quicker compared to Axis2 with JibX, proving that our hypothesis explained the anomaly. Axis 1.4 seems to be the slowest (4.37 times slower than Axis2+JibX) followed by XFire with JaxB (2.43 times slower than Axis2+JibX).
Load Testing Performance Page 2 of 3 « previous page next page » SOA WORLD LATEST STORIES
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||