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">&lt;<a href="mailto:trustin@gmail.com">trustin@gmail.com</a>&gt;</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&#39;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 &lt;<a href="mailto:utkarsh@gmail.com">utkarsh@gmail.com</a>&gt; wrote:<br>
&gt; Retrying ...<br>
&gt; Did anyone get a chance to look at this profile?<br>
&gt; I think there are real opportunities to optimize this code path in netty<br>
&gt; based on the profile attached. Channel.write() should not be taking up so<br>
&gt; much CPU.<br>
&gt; Utkarsh<br>
&gt;<br>
&gt; On Thu, Sep 10, 2009 at 11:37 PM, Utkarsh Srivastava &lt;<a href="mailto:utkarsh@gmail.com">utkarsh@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt; I recently rewrote an application that was not using Netty (or even NIO)<br>
&gt;&gt; so as to use Netty. Netty has been great to use, the API, the doc,<br>
&gt;&gt; everything. Thanks for the good work.<br>
&gt;&gt; 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>
&gt;&gt; servers. I would expect to be able to saturate the network pipe. I am able<br>
&gt;&gt; to do so at larger message sizes (e.g. 16K).<br>
&gt;&gt; But for small messages (e.g. 1K), the application doesn&#39;t saturate the<br>
&gt;&gt; network but becomes CPU bound. I profiled the application using Yourkit and<br>
&gt;&gt; one place that I noticed that had a high CPU consumption but shouldn&#39;t was<br>
&gt;&gt; channel.write().<br>
&gt;&gt; The breakdown of that method is attached. What is strange is 19% of the<br>
&gt;&gt; time going in NioClientSocketPipelineSink.eventSunk() and its own time is<br>
&gt;&gt; nontrivial (170 ms = 7%). Looking at the code, I don&#39;t see any place where<br>
&gt;&gt; that CPU can be spent (since NIOWorker.write() and<br>
&gt;&gt; NIOSocketChannel$WriteBuffer.offer() have their own separate contributions<br>
&gt;&gt; of 9 and 3% respectively. So this is extremely puzzling. Anybody have<br>
&gt;&gt; thoughts on this?<br>
&gt;&gt; Also, is it necessary to make that system call every time to check if the<br>
&gt;&gt; channel is connected? That alone is taking up 6%.<br>
&gt;&gt; Thanks<br>
&gt;&gt; Utkarsh<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; netty-users mailing list<br>
&gt; <a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
&gt;<br>
&gt;<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>