Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 86143 invoked from network); 23 Jun 2004 03:38:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 23 Jun 2004 03:38:13 -0000 Received: (qmail 64404 invoked by uid 500); 23 Jun 2004 03:38:28 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 64264 invoked by uid 500); 23 Jun 2004 03:38:23 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 64041 invoked by uid 99); 23 Jun 2004 03:38:19 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [209.68.1.20] (HELO relay.pair.com) (209.68.1.20) by apache.org (qpsmtpd/0.27.1) with SMTP; Tue, 22 Jun 2004 20:38:18 -0700 Received: (qmail 86414 invoked from network); 23 Jun 2004 03:37:05 -0000 Received: from unknown (HELO LANKABOOK) (203.94.84.114) by relay.pair.com with SMTP; 23 Jun 2004 03:37:05 -0000 X-pair-Authenticated: 203.94.84.114 Message-ID: <01a201c458d3$6abfb970$9f484109@LANKABOOK> From: "Sanjiva Weerawarana" To: , Cc: "Apache AXIS C Developers List" References: <40D77A56.6000606@cs.indiana.edu> <19e0530f040621200880979df@mail.gmail.com> <40D7C888.2090307@cs.indiana.edu> <19e0530f0406220351982a758@mail.gmail.com> <40D88822.80200@cs.indiana.edu> <19e0530f04062219447e1f03ac@mail.gmail.com> Subject: Re: AXIS-C++ and AXIS-Java performance observations on Linux/Loopback Date: Wed, 23 Jun 2004 09:12:02 +0600 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N It looks like the code is trying to open a server socket at port 8080 for some reason. Sanjiva. ----- Original Message ----- From: "Davanum Srinivas" To: Cc: "Apache AXIS C Developers List" Sent: Wednesday, June 23, 2004 8:44 AM Subject: Re: AXIS-C++ and AXIS-Java performance observations on Linux/Loopback > No luck with that either :( > > C:\bench>run > B1> Starting Benchmark1 Driver Version 1.0 ($Date: 2004/06/17 12:09:59 > $) at Tue Jun 22 22:43:15 EDT 2004 > B1> connecting to http://localhost:8080/axis/services/Benchmark1 > runnig test with size=10 Tue Jun 22 22:43:15 EDT 2004 > invoking 3 (SMOKE TEST) times for test v arraysSize=10 Tue Jun 22 > 22:43:15 EDT 2004 > Exception in thread "main" HTTP related exception: could not open > connection to localhost:8080; nested exception is: > Address already in use: connect; nested exception is: > java.net.BindException: Address already in use: connect > at java.net.PlainSocketImpl.socketConnect(Native Method) > at java.net.PlainSocketImpl.doConnect(Unknown Source) > at java.net.PlainSocketImpl.connectToAddress(Unknown Source) > at java.net.PlainSocketImpl.connect(Unknown Source) > at java.net.SocksSocketImpl.connect(Unknown Source) > at java.net.Socket.connect(Unknown Source) > at xsul.http_client.plain_impl.PlainClientSocketFactory.connect(PlainClientSock etFactory.java:48) > at xsul.http_client.HttpClientConnectionManager.connect(HttpClientConnectionMan ager.java:58) > at xsul.http_client.HttpClientReuseLastConnectionManager.connect(HttpClientReus eLastConnectionManager.java:97) > at xsul.invoker.http.HttpDynamicInfosetInvoker.invokeXml(HttpDynamicInfosetInvo ker.java:190) > at xsul.invoker.soap_over_http.SoapHttpDynamicInfosetInvoker.invokeMessage(Soap HttpDynamicInfosetInvoker.java:122) > at xsul.soaprpc_client.SoapRpcInvocationHandler.invokeRemoteEndpoint(SoapRpcInv ocationHandler.java:170) > at xsul.soaprpc_client.SoapRpcInvocationHandler.invoke(SoapRpcInvocationHandler .java:101) > at $Proxy0.echoVoid(Unknown Source) > at soap_bench.BenchClient.runOneTest(BenchClient.java:292) > at soap_bench.BenchClient.runTestsForDirection(BenchClient.java:146) > at soap_bench.BenchClient.runTestsForSize(BenchClient.java:125) > at soap_bench.BenchClient.main(BenchClient.java:92) > MLogger $Revision: 1.2 $ $Date: 2004/03/16 11:09:19 $ (GMT) configured as ':ALL' > B1> Starting Benchmark1 Driver Version 1.0 ($Date: 2004/06/17 12:09:59 > $) at Tue Jun 22 22:43:16 EDT 2004 > B1> connecting to http://localhost:8080/axis/services/Benchmark1 > runnig test with size=10 Tue Jun 22 22:43:16 EDT 2004 > invoking 20000 times for test v arraysSize=10 Tue Jun 22 22:43:16 EDT 2004 > [ 02:43:16.605 main: > xsul.invoker.http.HttpDynamicInfosetInvoker.java:179 invokeXml 1] > host=localhost port=8080 secure=false > Exception in thread "main" HTTP related exception: could not open > connection to localhost:8080; nested exception is: > Address already in use: connect; nested exception is: > java.net.BindException: Address already in use: connect > at java.net.PlainSocketImpl.socketConnect(Native Method) > at java.net.PlainSocketImpl.doConnect(Unknown Source) > at java.net.PlainSocketImpl.connectToAddress(Unknown Source) > at java.net.PlainSocketImpl.connect(Unknown Source) > at java.net.SocksSocketImpl.connect(Unknown Source) > at java.net.Socket.connect(Unknown Source) > at xsul.http_client.plain_impl.PlainClientSocketFactory.connect(PlainClientSock etFactory.java:48) > at xsul.http_client.HttpClientConnectionManager.connect(HttpClientConnectionMan ager.java:58) > at xsul.http_client.HttpClientReuseLastConnectionManager.connect(HttpClientReus eLastConnectionManager.java:97) > at xsul.invoker.http.HttpDynamicInfosetInvoker.invokeXml(HttpDynamicInfosetInvo ker.java:190) > at xsul.invoker.soap_over_http.SoapHttpDynamicInfosetInvoker.invokeMessage(Soap HttpDynamicInfosetInvoker.java:122) > at xsul.soaprpc_client.SoapRpcInvocationHandler.invokeRemoteEndpoint(SoapRpcInv ocationHandler.java:170) > at xsul.soaprpc_client.SoapRpcInvocationHandler.invoke(SoapRpcInvocationHandler .java:101) > at $Proxy0.echoVoid(Unknown Source) > at soap_bench.BenchClient.runOneTest(BenchClient.java:292) > at soap_bench.BenchClient.runTestsForDirection(BenchClient.java:146) > at soap_bench.BenchClient.runTestsForSize(BenchClient.java:125) > at soap_bench.BenchClient.main(BenchClient.java:92) > > On Tue, 22 Jun 2004 14:27:30 -0500, Aleksander Slominski > wrote: > > > > Davanum Srinivas wrote: > > > > >Alex, > > > > > >my axis server is already running at > > >http://localhost:8080/axis/services/Benchmark1. i don't want to start > > >a XSOAP4 server. What's the magic incantation? Isn't the following > > >sufficient? > > > > > > > > that should be sufficient ad it worked for me (but that is not enough > > of proof)! > > > > what is the error you get? can you verify with TCPMon that connection > > happens and SOAP message is sent? > > > > also if you use option -Dlog=:ALL you will see all that is happeening in > > driver including SOAP message sent, try: > > > > java -server -Xmx1024m -Dlog=:ALL -Dtest.setup=YOUR_SETUP_NAME > > -Dserver.name=AXIS_JAVA_1_2 soap_bench.BenchClient > > http://localhost:8080/axis/services/Benchmark1 200000 aa > > 10,100,1000,5000,10000,25000,50000,75000,100000 > > > > thanks, > > > > alek > > > > > > > > > > > > > > >>java -server -Xmx1024m -Dtest.setup=RH73_VERONICA_LOOPBACK > > >>-Dserver.name=AXIS_JAVA_STREAMING_1_2 soap_bench.BenchClient > > >>http://localhost:8080/axis/services/Benchmark1 200000 aa > > >>10,100,1000,5000,10000,25000,50000,75000,100000 > > >> > > >> > > > > > >-- dims > > > > > >On Tue, 22 Jun 2004 00:50:00 -0500, Aleksander Slominski > > > wrote: > > > > > > > > >>Davanum Srinivas wrote: > > >> > > >> > > >> > > >>>Bad News Alex....see stack trace below. > > >>> > > >>> > > >>> > > >>> > > >>you will need to specify parameter with the location of running service > > >>(in this case it tried to contact localhost:8080) > > >> > > >>you can start contained XSOAP4 test service for example by doing this: > > >> > > >>cd ; source classpath.sh; > > >>/l/jdk1.4/bin/java -server -Xmx1024m soap_bench.BenchServer 8076 > > >> > > >>thanks, > > >> > > >>alek > > >> > > >> > > >> > > >> > > >> > > >>>runnig test with size=10 Mon Jun 21 23:05:56 EDT 2004 > > >>>invoking 20000 times for test v arraysSize=10 Mon Jun 21 23:05:57 EDT 2004 > > >>>Exception in thread "main" HTTP related exception: could not open > > >>>connection to localhost:8080; nested exception is: > > >>> Address already in use: connect; nested exception is: > > >>>java.net.BindException: Address already in use: connect > > >>> at java.net.PlainSocketImpl.socketConnect(Native Method) > > >>> at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305) > > >>> at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171) > > >>> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158) > > >>> at java.net.Socket.connect(Socket.java:452) > > >>> at xsul.http_client.plain_impl.PlainClientSocketFactory.connect(PlainClientSock etFactory.java:48) > > >>> at xsul.http_client.HttpClientConnectionManager.connect(HttpClientConnectionMan ager.java:58) > > >>> at xsul.http_client.HttpClientReuseLastConnectionManager.connect(HttpClientReus eLastConnectionManager.java:97) > > >>> at xsul.invoker.http.HttpDynamicInfosetInvoker.invokeXml(HttpDynamicInfosetInvo ker.java:190) > > >>> at xsul.invoker.soap_over_http.SoapHttpDynamicInfosetInvoker.invokeMessage(Soap HttpDynamicInfosetInvoker.java:122) > > >>> at xsul.soaprpc_client.SoapRpcInvocationHandler.invokeRemoteEndpoint(SoapRpcInv ocationHandler.java:170) > > >>> at xsul.soaprpc_client.SoapRpcInvocationHandler.invoke(SoapRpcInvocationHandler .java:101) > > >>> at $Proxy0.echoVoid(Unknown Source) > > >>> at soap_bench.BenchClient.runOneTest(BenchClient.java:292) > > >>> at soap_bench.BenchClient.runTestsForDirection(BenchClient.java:146) > > >>> at soap_bench.BenchClient.runTestsForSize(BenchClient.java:125) > > >>> at soap_bench.BenchClient.main(BenchClient.java:92) > > >>> > > >>> > > >>>On Mon, 21 Jun 2004 19:16:22 -0500, Aleksander Slominski > > >>> wrote: > > >>> > > >>> > > >>> > > >>> > > >>>>hi, > > >>>> > > >>>>hope you find those results useful in identifying areas in AXIS-Java > > >>>>(memory footprint. performance) and AXIS-C++ (working on bigger sizes) > > >>>>that needs more work and will provide the biggest payoff (bang for buck > > >>>>:) ) - benchmark driver is very flexible and allows to execute only > > >>>>subset of tests to help timing when trying to fix one aspect only. > > >>>> > > >>>>i have update the benchmark results page [1] and added new tested services > > >>>>so currently there are results for AXIS-Java 1.2 streaming and non > > >>>>streaming > > >>>>(CVS June 11) and AXIS-C++ 1.2 pre-alpha (CVS May 28), gSOAP 2.6, XSOAP4 > > >>>>1.1.6-alpha4 > > >>>> > > >>>>tests were run on Linux Red Hat 7.3, Dell Optiplex GX 260T, > > >>>>Pentium 4 1.8 GHz 512 MB, JDK 1.4.2 (build 1.4.2_04-b05, mixed mode) > > >>>>using Java HotSpot(TM) Server VM over loopback network > > >>>>(that should eliminate any network interferences). > > >>>> > > >>>>code to reproduce tests results (except gSOAP) is available from [1]. > > >>>> > > >>>>Observations > > >>>>---------------- > > >>>>it seems that AXIS-C++ HTTP transport is very inefficient as even for > > >>>>ping (echoVoid) method > > >>>>that has no body payload it was 4x slower than gSOAP or XSOAP4 (and CPU > > >>>>usage is 1/3 indicating > > >>>>that there is lot of IO waits or some other blocking ...) - later > > >>>>testing (i may send those results later) > > >>>>on real gigabit Ethernet network showed that AXIS-C++ ping is /only/ 2x > > >>>>slower than gSOAP ... > > >>>> > > >>>>it seems that AXIS-Java has huge memory leak - test was not completed as > > >>>>JVM ran out of memory > > >>>>even though it was started with -Xmx1024m (1GB!) and it actually managed > > >>>>not only to take > > >>>>all memory but also all swap space leading to machine freezing which is > > >>>>very bad sign > > >>>>if you plans to run AXIS-Java based services for this kind of payloads ... > > >>>> > > >>>>otherwise it seems that gSOAP is the fastest toolkit available and it > > >>>>especially shines when transferring large amount of data. XSOAP4 even > > >>>>though relatively new and in alpha stage is not yet optimized for > > >>>>performance turned out to be surprisingly stable and well performing (as > > >>>>for Java). > > >>>> > > >>>>comments are welcome. > > >>>> > > >>>>thanks, > > >>>> > > >>>>alek > > >>>>[1] http://www.extreme.indiana.edu/~aslom/bnp/wsperf/linux_loopback/ > > >>>> > > >>>>-- > > >>>>The best way to predict the future is to invent it - Alan Kay > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>>> > > >>> > > >>> > > >>> > > >>> > > >>-- > > >>The best way to predict the future is to invent it - Alan Kay > > >> > > >> > > >> > > >> > > > > > > > > > > > > > > > > -- > > The best way to predict the future is to invent it - Alan Kay > > > > > > > -- > Davanum Srinivas - http://webservices.apache.org/~dims/ >