Hi Luciano, I kept the @Scope default (@Scope was not present, so I think it’s STATELESS).
My aim is building a SOA based system, so I want to use binding.ws for BPM easy to use. All the SCA service are in the same app, how can I expose them as web services but SCA service call each other by local call. P/S: I attached my composite file for further information. Thanks you & Best regards From: Luciano Resende [mailto:[email protected]] Sent: Tuesday, August 21, 2012 8:59 AM To: [email protected] Subject: Re: Tuscany SCA 2.0 web application performance is terrible On Mon, Aug 20, 2012 at 6:46 PM, binhnt22 <[email protected]> wrote: 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 Is your component defined as @Scope composite (a.k.a. singleton) What if you try a different binding (e.g. REST, JSON-RPC or RMI) ? -- Luciano Resende http://people.apache.org/~lresende http://twitter.com/lresende1975 http://lresende.blogspot.com/
web.composite
Description: Binary data
