Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 21253 invoked from network); 12 May 2004 17:38:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 12 May 2004 17:38:56 -0000 Received: (qmail 25944 invoked by uid 500); 12 May 2004 17:38:59 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 25934 invoked by uid 500); 12 May 2004 17:38:59 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 25910 invoked by uid 98); 12 May 2004 17:38:59 -0000 Received: from Scott.Goldstein@vignette.com by hermes.apache.org by uid 82 with qmail-scanner-1.20 (clamuko: 0.70. Clear:RC:0(12.161.72.105):. Processed in 0.172259 secs); 12 May 2004 17:38:59 -0000 X-Qmail-Scanner-Mail-From: Scott.Goldstein@vignette.com via hermes.apache.org X-Qmail-Scanner: 1.20 (Clear:RC:0(12.161.72.105):. Processed in 0.172259 secs) Received: from unknown (HELO vscan4.vignette.com) (12.161.72.105) by hermes.apache.org with SMTP; 12 May 2004 17:38:58 -0000 Received: from vscan4.vignette.com ([10.20.16.166]) by vscan4.vignette.com with Microsoft SMTPSVC(5.0.2195.6713); Wed, 12 May 2004 12:38:35 -0500 Received: From omail1.vignette.com ([10.20.16.43]) by vscan4.vignette.com (WebShield SMTP v4.5 MR1a); id 1084383514374; Wed, 12 May 2004 12:38:34 -0500 Received: from imc2.vignette.com (imc2.vignette.com [10.20.16.155]) by omail1.vignette.com (8.12.9/8.11.2) with ESMTP id i4CHcWnw006794; Wed, 12 May 2004 12:38:32 -0500 (CDT) Received: from hqexchange4.vignette.com ([10.20.16.154]) by imc2.vignette.com with Microsoft SMTPSVC(5.0.2195.6713); Wed, 12 May 2004 12:38:34 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: high fidelity and streaming=on Date: Wed, 12 May 2004 12:38:33 -0500 Message-ID: <394603A8EF563042ADEEF9E940BE0752D646EA@hqexchange4.vignette.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: high fidelity and streaming=on Thread-Index: AcQ3qYCejvLWpoS5TfeOSbOwcGsUiAAngzng From: "Goldstein, Scott" To: , "Aleksander Slominski" X-OriginalArrivalTime: 12 May 2004 17:38:34.0054 (UTC) FILETIME=[F2CC8660:01C43847] X-Spam-Rating: hermes.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Alek, Thank you for your reply! =20 So, from your message, it appears that this is a feature in Axis 1.2 and you're not sure whether it's available in 1.1. Also, it's still unclear exactly what the feature is. Do you know who I could contact to find out more information about it? Thanks. Scott -----Original Message----- From: Aleksander Slominski [mailto:aslom@cs.indiana.edu]=20 Sent: Tuesday, May 11, 2004 3:44 PM To: axis-user@ws.apache.org Subject: Re: high fidelity and streaming=3Don Goldstein, Scott wrote: > Could someone explain to me that advantages/disadvantages of turning=20 > streaming on (high-fidelity off)? > hi, it would be nice if somebody who implemented (Dims? Glen?) this feature=20 posted some notes about it and expected performance gains/trade offs (if streaming no longer support for DOM?) > It seems like the SAX Event recording is causing some performance=20 > issues and we're wondering if turning streaming on will fix this. > based on simple performance tests (just few runs and without error=20 analysis) there is no substantial difference (see results below) when=20 running test for array sizes of 10 and 1000 ... the difference is=20 visible for arrays that have 100K elements: NOTE: i do not use AXIS as client but XSOAP4 - i only use AXIS server side. i have a simple service that implements methods such as "echoVoid=20 echoStrings receiveBase64 receiveDoubles sendInts echoBase64=20 receiveStrings echoInts receiveInts sendDoubles sendBase64 echoDoubles=20 sendStrings" (see wsdd and wsdl file below) and i have two versions of=20 the service deployed: with and without streaming=3D"on". for service deployed with streaming=3D"on" N=3D2 avg invocation:50.0 [ms] throughput:20.0 [invocations/second]=20 arraysSize=3D100000 direction=3Dr method=3Db A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveBase64 100000 0.050000000 20.00 N=3D2 avg invocation:23839.5 [ms] throughput:0.04194718848969148=20 [invocations/second] arraysSize=3D100000 direction=3Dr method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveDoubles 100000 23.839500000 0.04 N=3D2 avg invocation:21681.0 [ms] throughput:0.04612333379456667=20 [invocations/second] arraysSize=3D100000 direction=3Dr method=3Di A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveInts 100000 21.681000000 0.05 N=3D2 avg invocation:22767.5 [ms] throughput:0.04392225760404085=20 [invocations/second] arraysSize=3D100000 direction=3Dr method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveStrings 100000 22.767500000 0.04 the same test but for AXIS service deployed without streaming N=3D2 avg invocation:60.0 [ms] throughput:16.666666666666668=20 [invocations/second] arraysSize=3D100000 direction=3Dr method=3Db A31P_JDK142 XSOAP4 AXIS_1_2 receiveBase64 100000 0.060000000 16.67 N=3D2 avg invocation:30534.0 [ms] throughput:0.03275037662933124=20 [invocations/second] arraysSize=3D100000 direction=3Dr method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2 receiveDoubles 100000 30.534000000 0.03 N=3D2 avg invocation:28060.0 [ms] throughput:0.03563791874554526=20 [invocations/second] arraysSize=3D100000 direction=3Dr method=3Di A31P_JDK142 XSOAP4 AXIS_1_2 receiveInts 100000 28.060000000 0.04 N=3D2 avg invocation:29217.0 [ms] throughput:0.03422664886880926=20 [invocations/second] arraysSize=3D100000 direction=3Dr method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2 receiveStrings 100000 29.217000000 0.03 so it looks like when using streaming for very large complex payloads=20 you may gain 20% increase in performance ... > In addition, is there a way, in Axis 1.1, to turn it on on the the=20 > client side? > no idea. > How about in 1.2? > for server side: in deploy.wsdd do something similar on client side: there is property "axis.streaming" to Boolean.TRUE=20 and/or you can can cast to o.a..axis.client.Call and use=20 setStreaming(true). i think both should work? see also: http://issues.apache.org/jira/browse/AXIS-1323 best, alek here are results on my Thinkpad A31P 2Ghz 1GB RAM , JDK 1.4.2 for array=20 of size 10 and 1000 elements: --------------------------- RESULTS WITH STREAMING size=3D10 N=3D200 avg invocation:15.025 [ms] throughput:66.55574043261231=20 [invocations/second] arraysSize=3D10 direction=3De method=3Dv A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoVoid 10 0.015025000 66.56 N=3D200 avg invocation:14.97 [ms] throughput:66.8002672010688=20 [invocations/second] arraysSize=3D10 direction=3De method=3Db A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoBase64 10 0.014970000 66.80 N=3D200 avg invocation:17.875 [ms] throughput:55.94405594405594=20 [invocations/second] arraysSize=3D10 direction=3De method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoDoubles 10 0.017875000 55.94 N=3D200 avg invocation:18.53 [ms] throughput:53.96654074473826=20 [invocations/second] arraysSize=3D10 direction=3De method=3Di A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoInts 10 0.018530000 53.97 N=3D200 avg invocation:17.975 [ms] throughput:55.63282336578581=20 [invocations/second] arraysSize=3D10 direction=3De method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoStrings 10 0.017975000 55.63 N=3D200 avg invocation:15.57 [ms] throughput:64.22607578676943=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Db A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveBase64 10 0.015570000 64.23 N=3D200 avg invocation:16.825 [ms] throughput:59.43536404160475=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveDoubles 10 0.016825000 59.44 N=3D200 avg invocation:16.725 [ms] throughput:59.79073243647235=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Di A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveInts 10 0.016725000 59.79 N=3D200 avg invocation:18.775 [ms] throughput:53.26231691078562=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveStrings 10 0.018775000 53.26 N=3D200 avg invocation:13.62 [ms] throughput:73.42143906020557=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Db A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendBase64 10 0.013620000 73.42 N=3D200 avg invocation:16.625 [ms] throughput:60.150375939849624=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendDoubles 10 0.016625000 60.15 N=3D200 avg invocation:15.975 [ms] throughput:62.59780907668232=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Di A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendInts 10 0.015975000 62.60 N=3D200 avg invocation:21.13 [ms] throughput:47.326076668244205=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendStrings 10 0.021130000 47.33 size=3D1000 N=3D2 avg invocation:20.0 [ms] throughput:50.0 [invocations/second]=20 arraysSize=3D1000 direction=3De method=3Dv A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoVoid 1000 0.020000000 50.00 N=3D2 avg invocation:15.0 [ms] throughput:66.66666666666667=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Db A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoBase64 1000 0.015000000 66.67 N=3D2 avg invocation:515.5 [ms] throughput:1.939864209505335=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoDoubles 1000 0.515500000 1.94 N=3D2 avg invocation:506.0 [ms] throughput:1.976284584980237=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Di A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoInts 1000 0.506000000 1.98 N=3D2 avg invocation:440.5 [ms] throughput:2.2701475595913734=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING echoStrings 1000 0.440500000 2.27 N=3D2 avg invocation:15.0 [ms] throughput:66.66666666666667=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Db A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveBase64 1000 0.015000000 66.67 N=3D2 avg invocation:290.5 [ms] throughput:3.442340791738382=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveDoubles 1000 0.290500000 3.44 N=3D2 avg invocation:265.5 [ms] throughput:3.766478342749529=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Di A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveInts 1000 0.265500000 3.77 N=3D2 avg invocation:260.0 [ms] throughput:3.846153846153846=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING receiveStrings 1000 0.260000000 3.85 N=3D2 avg invocation:15.0 [ms] throughput:66.66666666666667=20 [invocations/second] arraysSize=3D1000 direction=3Ds method=3Db A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendBase64 1000 0.015000000 66.67 N=3D2 avg invocation:235.5 [ms] throughput:4.246284501061571=20 [invocations/second] arraysSize=3D1000 direction=3Ds method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendDoubles 1000 0.235500000 4.25 N=3D2 avg invocation:185.5 [ms] throughput:5.390835579514825=20 [invocations/second] arraysSize=3D1000 direction=3Ds method=3Di A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendInts 1000 0.185500000 5.39 N=3D2 avg invocation:230.0 [ms] throughput:4.3478260869565215=20 [invocations/second] arraysSize=3D1000 direction=3Ds method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2_STREAMING sendStrings 1000 0.230000000 4.35 -------------------------------- RESULTS WITHOUT STREAMING array size=3D10 N=3D200 avg invocation:14.27 [ms] throughput:70.0770847932726=20 [invocations/second] arraysSize=3D10 direction=3De method=3Dv A31P_JDK142 XSOAP4 AXIS_1_2 echoVoid 10 0.014270000 70.08 N=3D200 avg invocation:15.375 [ms] throughput:65.04065040650406=20 [invocations/second] arraysSize=3D10 direction=3De method=3Db A31P_JDK142 XSOAP4 AXIS_1_2 echoBase64 10 0.015375000 65.04 N=3D200 avg invocation:17.725 [ms] throughput:56.41748942172074=20 [invocations/second] arraysSize=3D10 direction=3De method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2 echoDoubles 10 0.017725000 56.42 N=3D200 avg invocation:17.875 [ms] throughput:55.94405594405594=20 [invocations/second] arraysSize=3D10 direction=3De method=3Di A31P_JDK142 XSOAP4 AXIS_1_2 echoInts 10 0.017875000 55.94 N=3D200 avg invocation:18.275 [ms] throughput:54.719562243502054=20 [invocations/second] arraysSize=3D10 direction=3De method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2 echoStrings 10 0.018275000 54.72 N=3D200 avg invocation:13.22 [ms] throughput:75.642965204236=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Db A31P_JDK142 XSOAP4 AXIS_1_2 receiveBase64 10 0.013220000 75.64 N=3D200 avg invocation:17.925 [ms] throughput:55.78800557880056=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2 receiveDoubles 10 0.017925000 55.79 N=3D200 avg invocation:18.13 [ms] throughput:55.15719801434087=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Di A31P_JDK142 XSOAP4 AXIS_1_2 receiveInts 10 0.018130000 55.16 N=3D200 avg invocation:17.02 [ms] throughput:58.75440658049354=20 [invocations/second] arraysSize=3D10 direction=3Dr method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2 receiveStrings 10 0.017020000 58.75 N=3D200 avg invocation:13.57 [ms] throughput:73.69196757553426=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Db A31P_JDK142 XSOAP4 AXIS_1_2 sendBase64 10 0.013570000 73.69 N=3D200 avg invocation:13.57 [ms] throughput:73.69196757553426=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2 sendDoubles 10 0.013570000 73.69 N=3D200 avg invocation:13.37 [ms] throughput:74.79431563201197=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Di A31P_JDK142 XSOAP4 AXIS_1_2 sendInts 10 0.013370000 74.79 N=3D200 avg invocation:16.375 [ms] throughput:61.06870229007634=20 [invocations/second] arraysSize=3D10 direction=3Ds method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2 sendStrings 10 0.016375000 61.07 size=3D1000 N=3D2 avg invocation:10.0 [ms] throughput:100.0 [invocations/second]=20 arraysSize=3D1000 direction=3De method=3Dv A31P_JDK142 XSOAP4 AXIS_1_2 echoVoid 1000 0.010000000 100.00 N=3D2 avg invocation:15.0 [ms] throughput:66.66666666666667=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Db A31P_JDK142 XSOAP4 AXIS_1_2 echoBase64 1000 0.015000000 66.67 N=3D2 avg invocation:475.5 [ms] throughput:2.1030494216614093=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2 echoDoubles 1000 0.475500000 2.10 N=3D2 avg invocation:436.0 [ms] throughput:2.293577981651376=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Di A31P_JDK142 XSOAP4 AXIS_1_2 echoInts 1000 0.436000000 2.29 N=3D2 avg invocation:600.5 [ms] throughput:1.665278934221482=20 [invocations/second] arraysSize=3D1000 direction=3De method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2 echoStrings 1000 0.600500000 1.67 N=3D2 avg invocation:15.0 [ms] throughput:66.66666666666667=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Db A31P_JDK142 XSOAP4 AXIS_1_2 receiveBase64 1000 0.015000000 66.67 N=3D2 avg invocation:285.5 [ms] throughput:3.502626970227671=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2 receiveDoubles 1000 0.285500000 3.50 N=3D2 avg invocation:280.5 [ms] throughput:3.5650623885918=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Di A31P_JDK142 XSOAP4 AXIS_1_2 receiveInts 1000 0.280500000 3.57 N=3D2 avg invocation:295.5 [ms] throughput:3.3840947546531304=20 [invocations/second] arraysSize=3D1000 direction=3Dr method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2 receiveStrings 1000 0.295500000 3.38 N=3D2 avg invocation:10.0 [ms] throughput:100.0 [invocations/second]=20 arraysSize=3D1000 direction=3Ds method=3Db A31P_JDK142 XSOAP4 AXIS_1_2 sendBase64 1000 0.010000000 100.00 N=3D2 avg invocation:185.0 [ms] throughput:5.405405405405405=20 [invocations/second] arraysSize=3D1000 direction=3Ds method=3Dd A31P_JDK142 XSOAP4 AXIS_1_2 sendDoubles 1000 0.185000000 5.41 N=3D2 avg invocation:170.5 [ms] throughput:5.865102639296187=20 [invocations/second] arraysSize=3D1000 direction=3Ds method=3Di A31P_JDK142 XSOAP4 AXIS_1_2 sendInts 1000 0.170500000 5.87 N=3D2 avg invocation:285.5 [ms] throughput:3.502626970227671=20 [invocations/second] arraysSize=3D1000 direction=3Ds method=3Ds A31P_JDK142 XSOAP4 AXIS_1_2 sendStrings 1000 0.285500000 3.50 ------------------------------------------- server-config.wsdd http://xml.apache.org/axis/wsdd/ ----- WSL file pings the server echos base64 content echos string arrays echos int arrays echos double arrays receives base64 content receives strings receives ints receives doubles sends base64 content sends strings sends ints sends doubles definitions for performance benchmarking (symmetric=20 tests) --=20 The best way to predict the future is to invent it - Alan Kay