Performance Results - WSO2 Governance Registry - Part 1

Recently I have completed a performance analysis for WSO2 Governance Registry. Here I am publishing some of the results.

Zip Upload Thread Pool Size

Whats is Zip Upload Thread Pool:

When we are uploading ZIP files with WSDLs & Schema's, it hits the ZipWSDLMediaTypeHandler. There we can optimize number of threads which are working on Uploading WSDLs, Schema's and Service creation.

Recommended Other Configuration:
  • Increased the timeouts for the UI to 7200000 in axis2_client.xml. 
  • Disabled WSDL and Schema validation in registry.xml. 
  • Disabled registry indexing in registry.xml. 
  • Stopped automatic versioning of resources. 
  • Set the number of maximum active DB connections to 120 and max_connection in to 500(MySQL level), and the maximum wait time to 600000. 
  • Set G-Reg memory configurations to 4GB
With above configurations,here is test results for different thread upload pool size. Uploaded ZIP file containing 280 WSDLs and 506 Schema files. Time measured in Minutes and uploaded zip file size is 1.4 MB (1,359,833 bytes)

265 WSDL(Pool Size)
Test 1
Test 2
Test 3

10
8.48
9.17
9.12
No retrying issues and failure
20
9.25
8.49
8.57
No retrying issues and failure
30
9.22
9.07
8.12
No retrying issues and failure
40
9.35
9.19
9.13
see retrying issues
50
10.2
9.31
9.47
see retrying issues
60
9.50
9.40
9.54
see retrying issues
70
9.05
9.51
9.44
see retrying issues


Max File Upload Size

Recommended Other Configuration:
  • Increased the timeouts for the UI to 7200000 in axis2_client.xml. 
  • Disabled registry indexing and caching in registry.xml. 
  • Stopped automatic versioning of resources. 
  • Set the number of maximum active DB connections to 120 and max_connection in to 500(MySQL level), and the maximum wait time to 600000. 
  • Set G-Reg memory configurations to 4GB
with above configuration, tested file upload time for different sizes of text contents. Please note that this test was with a separate MySQL instance as the registry database.

File Size(MB)
Time(ms)
1.4
5003
4.9
9829
31
20922
61.9
30515
94
45071
115
61599
157.3
92036
178.3
100767
230.7
119764

DB Tuning

maxActive

G-Reg server need at least two database connections to startup the server and recommended minimum database connection count is 8 and maxActive database count should define according to your requirement and maximum database connection which can handle with database system.
maxActive

1
Server will not start
2
Server will start, WDDL upload failed
5
23 WSDL upload is not working
7
1 Timeout trying to lock table "REG_RESOURCE"; SQL statement:
8
Can upload 23 WSDL with 23 Services
10
Can upload 23 WSDL with 23 Services
20
Can upload 23 WSDL with 23 Services
50
Can upload 23 WSDL with 23 Services
100
Can upload 23 WSDL with 23 Services


Max Wait
To conduct this test, we have configured 8 max active connections and results were measured for different max wait values(maxActive is 8).
maxWait

-1
Can upload all WSDL
60000
Can upload all WSDL
10000
Can upload all WSDL with retrying message
5000
Can upload all WSDL with retrying message
2500
Can upload all WSDL with retrying message
1000
Can upload all WSDL with retrying message
100
Can upload all WSDL with retrying message
10
Can upload all WSDL with retrying message
1
Can upload all WSDL with retrying message

Validation Interval

We have configured 8 as max active connections and conducted the previous test with different validation intervals values. However there was no effect to normal G-reg use and server could use without interrupting any operations..

Content Search/Indexing

To conduct these tests we have uploaded "Enterprise Search Server" PDF ebook in to G-Reg and after 7 minutes following content search was done; wildcards, Wicket, Zappos, XSLT, Clustering, BinContentStreamDataSource, David, errata. This test conducted with Java agent which provided by New Relic: Application Performance Management & Monitoring[http://newrelic.com]

Indexing Frequency

When increasing Indexing Frequency, Solr cache size will increase.

Solr - RAM Buffer

When increasing RAM Buffer size, Solr response time will be decreased. Here is the Solr recommendation "If you will be loading a lot of data at once, then increase this value. any experts seem to find that a number in the vicinity of 128 to be good for many apps."

Solr - Merge Factor

When the Merge Factor is low, indexed document count is low.

Solr - Lock Timeouts

When we set Solr lock timeout value with a higher value, it index more documents at once and Solr response time is lower. To lower lock timeout value, only two indexing operations happened.

** current WSO2 Governance Registry Solr configuration is appropriate for most G-Reg related operation, except for huge file indexing.


Memory

Xms
Can start WSO2 G-Reg server with any Xms values

Xmx

G-Reg server needs at least 192Xmx value to start Java instance.

MaxPermSize

G-Reg server needs at least 128mb value as MaxpermSize, to do basic Operation like upload ZIp file(with 23WSDl).

Comments

Popular posts from this blog

XSLT - Modify Date and DateTime value

Integrate With Mutual Certificate Authentication based Service

Yield Price Sri Lanka - Android Application