Hi Raymond,
Thank you for your concern. Here is the information:
I'm building a demo just to test performance among SCA, BPM and our legacy
code. In order to decide to use SCA or not for our next-gen enterprise
system.
1. I have a Stock Transfer web application which does the following
things:
- Subtract the quantity of products from the source stock (Stock
table)
- Add the quantity of products into the target stock (Stock table)
- Create an importing product order if the product in the source
stock is too low (StockOrder table)
- Change the sale quota of the show that manages the target stock.
(ShopQuota table)
- Generate a stock transfer transaction (StockTrans table)
The legacy code(java), SCA service (2.0) and JBpm (5.1) process is a part of
the web application (struts2 + tiles). The database is Oracle 10g. The web
server is apache-tomcat-7.0.27
a) The legacy code is very simple, uses hibernate + c3p0, call all the
work in a sequence order.
b) The SCA: the web application has only one web.composite, contains 4
Component for each work (work 1st and 2nd is the same)
Each component was implemented by a java class which call the correlative
legacy code.
Each one expose a web service for JBpm through binding.ws
c) The BPM: create 4 handlers to manipulate 4 web service above, the
handlers use HttpClient (apache common-httpclient) to acquire the fastest
way when call web service
2. Except the database server, the web server and test environment are
on one PC. The database server is in the same Local network with the PC.
3. I kept the default Tomcat configuration. (CATALINA_OPTS="-Xms128m
-Xmx512m -XX:MaxPermSize=256m"
I know placing both Web server and Test environment in a PC is not ok. But
at least the SCA should be as good as the legacy code (slower 15-30%), but
it took 2-4 times.
Concurrent request
10
20
50
Web
Min (ms)
215
215
537
Max (ms)
283
1880
3972
Avg (ms)
259
753
2486
Error (%)
0%
0%
0%
SCA
Min
356
528
1940
Max
870
3726
15136
Avg
656
2932
8520
Error (%)
0%
0%
0%
BPM
Min
529
724
2694
Max
1954
3268
11889
Avg
1304
2509
10229
Error (%)
0%
0%
0%
Could you please share one of your system architecture which use Tuscany
heavily without performance issues? That would be a great help.
.
Best regards
From: Raymond Feng [mailto:[email protected]]
Sent: Monday, August 20, 2012 11:11 PM
To: [email protected]
Subject: Re: Tuscany SCA 2.0 web application performance is terrible
Hi,
Th title is really scary :-(
Can you provide more information for your test?
1. What does your SCA service do?
2. Can you do some profiling to find out where the bottleneck is? There
might be many factors, such as Network, Memory settings, Tomcat connection
settings, Service implementation.
3. What's your Tomcat configuration? (How many concurrent
threads/connections allowed?)
The key is to understand how much overhead that Tuscany introduces into your
app.
We use Tuscany quite heavily and never have performance issues.
Thanks,
Raymond
On Aug 20, 2012, at 3:02 AM, binhnt22 wrote:
Hi all,
I have a web application that uses Tuscany SCA 2.0 running on Tomcat 7
-(Xms128m -Xmx512m -XX:MaxPermSize=512m)
So far everything seems to be ok until I tried to carry on a performance
test.
Using Jmeter 2.7, request directly to the servlet that call SCA service.
With 10 and 20 requests were ramed in 1 sec, the performance look promising.
But with 50 requests in 1 sec, the response time was so terrible, not
mention 100 or 200 request in 1 sec.
Did anyone face that problem? Any suggestion or solutions will be
appreciated.
Thasnk & Best regards,