20.11.2014 Views

Capacity Planning of SOA-Based Systems - Service Technology ...

Capacity Planning of SOA-Based Systems - Service Technology ...

Capacity Planning of SOA-Based Systems - Service Technology ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>SOA</strong> in the Telco Domain<br />

Part II: <strong>Capacity</strong> <strong>Planning</strong> <strong>of</strong> <strong>SOA</strong>-<strong>Based</strong> <strong>Systems</strong><br />

<strong>Service</strong> <strong>Technology</strong> Magazine (Issue LIV , September 2011)<br />

Measuring can be done through benchmarking and performance test in environment that most resemble like<br />

production one.<br />

For example, let us measure a service for purchasing Blackberry package registration products from the UMB<br />

channel, and we will refer to this as service-X. Forecasted loads will be at 300 transactions per second (tps)<br />

with service level agreement not more than 25 seconds. To do the benchmarking, we can give load test stepby-step<br />

from 100 tps until y-tps where the services performance starts to degrade. As a sample, we have the<br />

below performance test results:<br />

NO<br />

# Load<br />

(tps)<br />

Response<br />

Time (ms)<br />

& Increase Form<br />

1 2 3 4<br />

1 100 1200<br />

2 150 1250 4.17%<br />

3 200 2300 91.67% 84.00%<br />

4 250 3210 167.50% 156.80% 39.57%<br />

5 300 4000 233.33% 220.00% 73.91% 24.61%<br />

Table 1 – <strong>Service</strong>-X Performance Test Result<br />

We can see that most response time is gained at 100 tps, which is our baseline. Performance starts to degrade<br />

slightly when we give 200 tps loads to the service. Running service at 150 tps with 2 instances to handle 300<br />

tps load can process faster than running 300 tps with 1 instance. On row no. 2, 1 transactions per second will<br />

takes 8,33 ms to finished. For 300 transactions per second, it will needs only around 2500 ms. If we compare<br />

with 300 tps with 1 instances it will need 4000 ms to complete. Within 4000 ms two instances <strong>of</strong> service at 150<br />

tps can complete around 480 tps.<br />

From this analysis, we can conclude that service-X can handle at most 150 transactions per second. And<br />

running two service instances at 150 tps will give better results than running one instances at 300 tps.<br />

<strong>Service</strong>s Resources Sizing<br />

Another sizing that we need to do at services level is the system resources. System resources sizing is more<br />

about the processing unit and memory usage needed by a single service instance to run at certain transaction<br />

load level. <strong>Planning</strong> services resources size will then correlated with the platform capacity sizing. There are two<br />

main aspects we need to plan:<br />

1. Processing Unit - is defined by how many cores are needed by a single instance to run a certain<br />

transaction load. This is one <strong>of</strong> the most important aspects we need to calculate because service<br />

availability depends a lot on the availability <strong>of</strong> the processing unit; we cannot run more services if there is<br />

no processing unit available. We also need to put it when we try to design a Disaster Recovery Site for the<br />

<strong>SOA</strong>.<br />

To know how many instances we need, processing unit usage can be found out through benchmark and<br />

performance test on the environment that most resemble the production environment. For example, we<br />

Copyright © Arcitura Education Inc. 2 www.servicetechmag.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!