Hi Trustin,<div><br></div><div>I tested the new build and the results are awesome. Throughput is way up (at least a 30% jump for 1K messages) and CPU utilization is way down. People who have benchmarked Netty previously should re-run their benchmarks.</div>
<div><br></div><div>On the cautious side, I noticed that in the patch, you just omitted the call to channel.isConnected(). Is that a long-term solution or just a stop-gap? </div><div><br></div><div>When are you planning to put this into maven so that our builds can pick it up?</div>
<div><br></div><div>Thanks</div><div>Utkarsh</div><div><br><br><div class="gmail_quote">On Sun, Sep 20, 2009 at 7:11 PM, Trustin Lee (이희승) <span dir="ltr"><<a href="mailto:trustin@gmail.com">trustin@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Utkarsh,<br>
<br>
Thanks for reporting this issue.<br>
<br>
I've just checked in a tiny modification that reduces the number of<br>
Channel.isConnected() calls. Could you test the latest build and let<br>
me know how it looks like now?<br>
<br>
<a href="http://trustin.dyndns.org/hudson/job/netty-trunk-deploy/111/" target="_blank">http://trustin.dyndns.org/hudson/job/netty-trunk-deploy/111/</a><br>
<br>
— Trustin Lee, <a href="http://gleamynode.net/" target="_blank">http://gleamynode.net/</a><br>
<div><div></div><div class="h5"><br>
<br>
<br>
On Mon, Sep 14, 2009 at 1:30 AM, Utkarsh Srivastava <<a href="mailto:utkarsh@gmail.com">utkarsh@gmail.com</a>> wrote:<br>
> Retrying ...<br>
> Did anyone get a chance to look at this profile?<br>
> I think there are real opportunities to optimize this code path in netty<br>
> based on the profile attached. Channel.write() should not be taking up so<br>
> much CPU.<br>
> Utkarsh<br>
><br>
> On Thu, Sep 10, 2009 at 11:37 PM, Utkarsh Srivastava <<a href="mailto:utkarsh@gmail.com">utkarsh@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Hi,<br>
>> I recently rewrote an application that was not using Netty (or even NIO)<br>
>> so as to use Netty. Netty has been great to use, the API, the doc,<br>
>> everything. Thanks for the good work.<br>
>> Using netty <a href="http://3.1.2.GA" target="_blank">3.1.2.GA</a>, my application basically blasts out messages to 2<br>
>> servers. I would expect to be able to saturate the network pipe. I am able<br>
>> to do so at larger message sizes (e.g. 16K).<br>
>> But for small messages (e.g. 1K), the application doesn't saturate the<br>
>> network but becomes CPU bound. I profiled the application using Yourkit and<br>
>> one place that I noticed that had a high CPU consumption but shouldn't was<br>
>> channel.write().<br>
>> The breakdown of that method is attached. What is strange is 19% of the<br>
>> time going in NioClientSocketPipelineSink.eventSunk() and its own time is<br>
>> nontrivial (170 ms = 7%). Looking at the code, I don't see any place where<br>
>> that CPU can be spent (since NIOWorker.write() and<br>
>> NIOSocketChannel$WriteBuffer.offer() have their own separate contributions<br>
>> of 9 and 3% respectively. So this is extremely puzzling. Anybody have<br>
>> thoughts on this?<br>
>> Also, is it necessary to make that system call every time to check if the<br>
>> channel is connected? That alone is taking up 6%.<br>
>> Thanks<br>
>> Utkarsh<br>
>><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> netty-users mailing list<br>
> <a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
><br>
><br>
<br>
_______________________________________________<br>
netty-users mailing list<br>
<a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
</blockquote></div><br></div>