On Thursday, May 30, 2013 at 4:15 AM, Daniel Kulp wrote:

>  
> On May 27, 2013, at 10:14 PM, Willem jiang <[email protected] 
> (mailto:[email protected])> wrote:
> > > > I just did a prototype of support Netty transport for CXF, it include 
> > > > the server side implementation and client side implementation. And I 
> > > > did some performance compare tests by running the wsdl_first from 
> > > > examples with Jetty transport and Netty transport and using Jmeter to 
> > > > send the requests. The test results are much similar, Netty transport 
> > > > and Jetty transport can hit the highest processing recorder with the 
> > > > throughput of 9M per second in my MacBookPro. I only performance 
> > > > turning I did was just changing the thread pool size of 
> > > > ExecutionHandler which will be used to call the whole soap stake of CXF.
> > >  
> > >  
> > >  
> > > When I looked at Netty's HTTP client stuff (over a year ago now), I had 
> > > MAJOR problems getting it to stream large messages. The small messages 
> > > worked great and did have good performance, but once we could no longer 
> > > buffer the whole message and wanted to get it streaming in chunks, I 
> > > could never get it working. That said, that was a long time ago and they 
> > > may have fixed all the bugs related to that.
> > The test that I did just one the server side and no chunk encoding involved.
> > We can polish it if we need :)  
>  
>  
>  
> Just checked. If the size of the message sent from the client exceeds the 
> chunk threshold, nothing gets sent over the wire at all. :-( The client then 
> just hangs and eventually times out. Didn't really look into what is needed 
> yet.

I will dig this issue next week when I finish the SSL support of the netty.  
>  
>  
> > > > I'd like to commit the prototype into Apache CXF trunk, and we could 
> > > > polish the transport together :)
> > > > Any thought?
> > >  
> > >  
> > >  
> > >  
> > >  
> > > Sure. On the client side, if it's sticking to HTTP, I'd like to see it 
> > > plug into the HTTPConduit like the async client version does. That's 
> > > something we could work on though. Speaking of asyncclient version, they 
> > > supposedly have a new version that is supposedly significantly faster. On 
> > > my todo list to look at. :-(
> > Yes, it do the same thing as the async client does.
> > I will commit the code shortly today.  
>  
>  
>  
> We'll likely need to figure something out. With your changes to distribution, 
> both async and netty clients are in the lib dir and it would then be 
> whichever one is found on the classpath first.  
>  
I've been thinking about it for a while, maybe we should introduce some schemes 
as camel does, such as "abc", "netty", etc. if the client want to use async 
http client, he could specify the address with "ahc:http://example.com/server"; 
and if he want to use netty he could use "netty:http://example.com/server";, if 
he uses "http://example.com/server"; we just let the class path decide which 
client will be used.

>  
>  
> --  
> Daniel Kulp
> [email protected] - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com




--  
Willem Jiang



Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://www.fusesource.com | http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  

Weibo: 姜宁willem  


Reply via email to