Hi, Posted to the list to share the workaround that was found (thanks to Asankha C. Perera" <[EMAIL PROTECTED]>)
When running the ESB on the same machine as the backend service, some lowlevel http traffic goes wild. This is probably a bug somewhere below the ESB. (apache synapse ? httpcore ?) workaround for me: - don't run ESB and backend on same machine or - reroute the traffic between ESB and backend trough an other machine (eg: apache forwarding). with that running some stress tests gave no errors. ( 5 concurrent threads, few thousand calls) Regards, Harm ---------- Forwarded message ---------- From: Harm Verhagen <[EMAIL PROTECTED]> Date: Fri, Sep 19, 2008 at 2:49 PM Subject: Re: [esb-java-user] ERROR ClientHandler Unexpected HTTP protocol error: Request already submitted To: "Asankha C. Perera" <[EMAIL PROTECTED]> Hi, It seems indeed to be related with bugs on the lowlevel socket handling. Whenever I reroute the traffic between ESB <-> backend via an other server, the problems disappear. machineA: ESB + backend machineB: apache forwards to machine A So in the ESB configuration, instead of addressing the backend as localhost:8180 I'm using machineB:8180 which (via apache forwarding) routes the traffic to the backend. With this NO problems... Except ofcourse ... performance... This is much slower. When having direct traffic -> 1, 2, 3 calls -> ESB java exceptions. Regards, Harm On Fri, Sep 19, 2008 at 2:29 PM, Harm Verhagen <[EMAIL PROTECTED]>wrote: > I understand. > So the problem _could_ be caused by this. > This would indicate bugs in the layers beneath wso2, right ? > I'll try what to see what happens _without_ bypassing the ethernet card. > > Note: Performance was exactly the reason to run some backend services on > the same hardware as the ESB. > (for some backend services we want to use the ESB just for logging, or just > simple transaction management (insertions in local db)). > > Regards, > Harm > > > > > > On Fri, Sep 19, 2008 at 2:01 PM, Asankha C. Perera <[EMAIL PROTECTED]>wrote: > >> http://ehv10.jibe-nc.com:8180/boost-platform/services/messageDelivery >> >> Sockets are at the Java level.. however the OS behaves slightly >> differently (trying to be smarter) when it detects its talking to the same >> machine. The NIO behavior sometimes can be dependent on such OS issues.. for >> example, we had trouble with an old Sun OS a couple of years back, due to >> some difference like this one. >> >> asankha >> >> Harm Verhagen wrote: >> >> what url did you exactly use to test from your location ? >> >> On Fri, Sep 19, 2008 at 1:39 PM, Asankha C. Perera <[EMAIL PROTECTED]>wrote: >> >>> I used vanilla 1.7 (which is basically the same as 1.7.1 but which >>> supports FF3).. Do you have a simulator etc for your backend which I could >>> check with a local connection? This could also be an issue with the OS >>> making local calls which are routed sometimes over pipes as it bypasses the >>> network card. However, I do not assume you will have your ESB and backend >>> server on the same physical host in production..! >>> >>> regards >>> asankha >>> >>> Harm Verhagen wrote: >>> >>> That kind-of matches what I see here. >>> - Testing via tcpmon (route traffic through other PC) -> OK. >>> (really stressing still makes ESB barf, but *other *errors). >>> - directly connection between ESB and application -> *NOT OK.* >>> >>> In your test the connections beteen ESB and backend is also not direct, >>> there is some apache forwarding in between. >>> (timing might also affect this !). >>> >>> Did you also use wso2esb 1.7.1 vanilla ? >>> >>> Regards, >>> Harm >>> >>> >>> >>> On Fri, Sep 19, 2008 at 1:18 PM, Asankha C. Perera <[EMAIL PROTECTED]>wrote: >>> >>>> Harm >>>> >>>> I was able to use 20 users at 100 iterations all the way from Sri Lanka >>>> over the internet, and nothing was lost or failed. Here is my load test >>>> results: >>>> >>>> I used the WSO2 ESB 1.7 release on Ubuntu using the Sun JDK 1.5.0_16. >>>> BTW, my request used basic authentication "injected" manually from the >>>> client I used. >>>> >>>> asankha >>>> >>>> [EMAIL PROTECTED]:~/Customer/Harm$ java -jar ~/perf/benchmark-0.1.1.jar >>>> -p request.xml -n 100 -c 20 -k -H "Authorization: Basic >>>> ZnJlZGRpZTpoZWluZWtlbg==" -T "text/xml; charset=UTF-8" >>>> http://localhost:8280/soap/messageDelivery >>>> >>>> Server Software: Synapse-HttpComponents-NIO >>>> Server Hostname: localhost >>>> Server Port: 8280 >>>> >>>> Document Path: http://localhost:8280/soap/messageDelivery >>>> Document Length: 418 bytes >>>> >>>> Concurrency Level: 20 >>>> Time taken for tests: 221.184637 seconds >>>> Complete requests: 2000 >>>> Failed requests: 0 >>>> Write errors: 0 >>>> Total transferred: 2784000 bytes >>>> Requests per second: 9.04 [#/sec] (mean) >>>> Time per request: 2,211.846 [ms] (mean) >>>> Time per request: 110.592 [ms] (mean, across all concurrent >>>> requests) >>>> Transfer rate: 3.78 [Kbytes/sec] received >>>> 8.81 kb/s sent >>>> 12.59 kb/s total >>>> [EMAIL PROTECTED]:~/Customer/Harm$ >>>> >>>> >>>> >>> >> >
_______________________________________________ Esb-java-user mailing list [email protected] http://mailman.wso2.org/cgi-bin/mailman/listinfo/esb-java-user
