Capacity Planning of SOA-Based Systems - Service Technology ...
Capacity Planning of SOA-Based Systems - Service Technology ...
Capacity Planning of SOA-Based Systems - Service Technology ...
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