Search performance testing
A series of test were run to determine how quickly searches for
businesses and business services were executed given the same number of
services in a node while varying the number of business under which the
services were published.
This was done by repeatedly filling an empty node with the following
numbers of businesses and services/business:
# of Businesses
# of Services/Business
100,000
1
10,000
10
1,000
100
100
1000
We see that the total number of services is consistently 100,000 for
every instance of the node. Each business and service was published
under a lone unique names so that every search only has one result. Load
test repeating the TFindServiceBM scenario was done to measure mean
response times. The TFindServiceBM scenario searches the node by name
for a random service. The name is supplied by a previously generated
file containing the names of all services. The mean times for each ~
30min load test is illustrated in the table below (the tests were run
twice on each node instance):
Arrival rate \ businesses 100,000 10,000 1,000 100
100,000 247ms
<http://xlt.xceptance.de/download/results/juddi/20090821-130234/> 250ms
<http://xlt.xceptance.de/download/results/juddi/20090819-183924/> 327ms
<http://xlt.xceptance.de/download/results/juddi/20090821-093748/> 231ms
<http://xlt.xceptance.de/download/results/juddi/20090821-164739/>
100,000 186ms
<http://xlt.xceptance.de/download/results/juddi/20090825-131253/> 242ms
<http://xlt.xceptance.de/download/results/juddi/20090824-181227/> 243ms
<http://xlt.xceptance.de/download/results/juddi/20090821-093748/> 238ms
<http://xlt.xceptance.de/download/results/juddi/20090824-102539/>
Clicking on any of the mean times above will link to the XLT report of
run. We can see that the resulting mean times are almost always ~ 245ms
except for a couple of outliers. This would suggest that searches for
services are independent of how they are distributed over businesses.
As for find_business operations, a 100,000 transaction/hour constant
arrival rate could not be maintained for all the different distributions
of services. Instead an arrival rate of 6,000 t/h was used since this
seemed to be close to highest load the slowest configuration (100
businesses) could take. The table below shows the mean times for the
TFindBusinessBM runs:
Arrival rate \ businesses 100,000 10,000 1,000 100
6,000 64ms
<http://xlt.xceptance.de/download/results/juddi/20090825-122527/> 27ms
<http://xlt.xceptance.de/download/results/juddi/20090824-173745/> 91ms
<http://xlt.xceptance.de/download/results/juddi/20090824-160655/> 869ms
<http://xlt.xceptance.de/download/results/juddi/20090824-121054/>
TFindBusinessBM finds and returns a random business much in the same way
as TFindServiceBM, by searching for a business name supplied by a
previously generated file containing the names of all businesses in the
node. Here we see an increase in mean response time which seams to be
related to the increase in services /business. This is probably cause by
the lengthening returned SOAP message that includes not only details
off the business but also a list of all the services associated with it.
The first value of the node with 100,000 businesses with just one
service each, does not seem to support this trend but that may be
because of the relatively large number of businesses that must be
searched through. More testing would be needed to determine this.
Here are trend reports showing performance differences between service
searches
<http://xlt.xceptance.de/download/results/juddi/trendreport-20090826-131138/requests.html#request-summary>
and businesses searches
<http://xlt.xceptance.de/download/results/juddi/trendreport-20090826-130737/>.
System setup:
This
<http://people.apache.org/repo/m2-snapshot-repository/org/apache/juddi/juddi-portal-bundle/3.0.0.SNAPSHOT/juddi-portal-bundle-3.0.0.20090723.201427-7.zip>
release of jUDDI ran on the following:
Processor: Intel(R) Core(TM)2 CPU 6400 @ 2.13GHz
RAM: 2011 MB
OS: Ubuntu 9.04, linux kernel 2.6.28-13-generic
This
<http://xlt.xceptance.de/download/results/juddi/testsuites/20090821-juddiTestSuite.zip>
test suite was used to run the above test.
Please let me know if there are any specific scenarios you, the jUDDI
developers, would like to see.
Jeremi