<html><body><div style="font-family: Arial; font-size: 12pt; color: #000000"><div>Stuart,<br></div><div><br></div><div>&nbsp;&nbsp;&nbsp;&nbsp; I'm not sure what this undertow-speed app does, but I'm nervous that tuning for it, may undo some of the improvements we made in the performance lab.&nbsp; One thing I would suggest though, is using perf on Linux and creating a flamegraph for Beta9 and the Final.&nbsp; It's likely that some methods that were being inlined are no longer being inlined, and the flamegraphs and the underlying perf data will show that.&nbsp; In order to use perf you have to set the JVM parameter to preserve frame pointers:<br></div><div><br></div><div>-XX:+PreserveFramePointer</div><div><br></div><div>Ping anyone from the performance team, and they can help you with the setup of perf, and generating the flame graphs.<br></div><div><br></div><div>Andy<br></div><div><br></div><hr id="zwchr"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;" data-mce-style="border-left: 2px solid #1010FF; margin-left: 5px; padding-left: 5px; color: #000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;">Hi Stuart,<br><div><br></div>Toby asked me to try on my machine, and I see an even bigger<br>throughput disparity. I'm using his test app:<br>https://github.com/tobias/undertow-speed<br><div><br></div>In one shell I run 'mvn clean compile exec:java' and in another I run<br>'./bench-avg.sh' and I get this output:<br><div><br></div>jim@minty ~/apps/undertow-speed $ ./bench-avg.sh<br>Requests per second: &nbsp; &nbsp;14717.03 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;14527.32 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;14288.32 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;14375.64 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;14653.08 [#/sec] (mean)<br>Average: 14512<br><div><br></div>Then I run 'mvn clean compile exec:java -Pbeta9' in the first shell<br>and re-run bench-avg.sh. I get this:<br><div><br></div>jim@minty ~/apps/undertow-speed $ ./bench-avg.sh<br>Requests per second: &nbsp; &nbsp;24069.72 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;25002.35 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;24885.36 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;25261.30 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;24800.82 [#/sec] (mean)<br>Average: 24803.4<br><div><br></div>As you can see, quite a bit more than 7%, beta9 yields almost 70%<br>better throughput for me!<br><div><br></div>I set the option you suggested for 1.3.18 and I get slightly better numbers:<br><div><br></div>jim@minty ~/apps/undertow-speed $ ./bench-avg.sh<br>Requests per second: &nbsp; &nbsp;15749.52 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;15309.83 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;15909.15 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;16228.10 [#/sec] (mean)<br>Requests per second: &nbsp; &nbsp;16118.84 [#/sec] (mean)<br>Average: 15862.6<br><div><br></div>But nowhere close to beta9.<br><div><br></div>Can you clone his app and reproduce locally?<br><div><br></div>Thanks,<br>Jim<br><div><br></div><br>On Tue, Mar 8, 2016 at 6:35 PM, Stuart Douglas &lt;sdouglas@redhat.com&gt; wrote:<br>&gt; Can you re-run but with the following setting:<br>&gt;<br>&gt; .setServerOption(UndertowOptions.NO_REQUEST_TIMEOUT, -1)<br>&gt;<br>&gt; The default changed between these versions, so now idle connections will eventually be timed out (otherwise browsers can hold connections for a very time long which was causing people to have issues with FD exhaustion).<br>&gt;<br>&gt; Stuart<br>&gt;<br>&gt; ----- Original Message -----<br>&gt;&gt; From: "Stuart Douglas" &lt;sdouglas@redhat.com&gt;<br>&gt;&gt; To: "Toby Crawley" &lt;toby@tcrawley.org&gt;<br>&gt;&gt; Cc: undertow-dev@lists.jboss.org<br>&gt;&gt; Sent: Monday, 7 March, 2016 10:59:27 AM<br>&gt;&gt; Subject: Re: [undertow-dev] Loss of perfomance between 1.3.0.Beta9 &nbsp; &nbsp;and &nbsp; &nbsp; 1.3.18.Final<br>&gt;&gt;<br>&gt;&gt; This is not a known issue, I will investigate.<br>&gt;&gt;<br>&gt;&gt; Stuart<br>&gt;&gt;<br>&gt;&gt; ----- Original Message -----<br>&gt;&gt; &gt; From: "Toby Crawley" &lt;toby@tcrawley.org&gt;<br>&gt;&gt; &gt; To: undertow-dev@lists.jboss.org<br>&gt;&gt; &gt; Sent: Saturday, 5 March, 2016 7:29:00 AM<br>&gt;&gt; &gt; Subject: [undertow-dev] Loss of perfomance between 1.3.0.Beta9 and<br>&gt;&gt; &gt; &nbsp; &nbsp; 1.3.18.Final<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; Is there a known decrease in throughput (measured with req/s)<br>&gt;&gt; &gt; between 1.3.0.Beta9 and 1.3.18.Final? We currently ship the former<br>&gt;&gt; &gt; with Immutant, and were looking at upgrading to the latter in the next<br>&gt;&gt; &gt; release, but noticed a decrease in throughput with a simple Clojure<br>&gt;&gt; &gt; benchmark app.<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; I have replicated the basics of our benchmark app in Java[1], and saw a<br>&gt;&gt; &gt; decrease in req/s between the two versions of ~7% when testing with ab<br>&gt;&gt; &gt; and averaging the output of several runs.<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; Is there something that changed between those versions that is known<br>&gt;&gt; &gt; to have reduced performance?<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; - Toby<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; [1]: https://github.com/tobias/undertow-speed<br>&gt;&gt; &gt; _______________________________________________<br>&gt;&gt; &gt; undertow-dev mailing list<br>&gt;&gt; &gt; undertow-dev@lists.jboss.org<br>&gt;&gt; &gt; https://lists.jboss.org/mailman/listinfo/undertow-dev<br>&gt;&gt; &gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; undertow-dev mailing list<br>&gt;&gt; undertow-dev@lists.jboss.org<br>&gt;&gt; https://lists.jboss.org/mailman/listinfo/undertow-dev<br>&gt;&gt;<br>&gt; _______________________________________________<br>&gt; undertow-dev mailing list<br>&gt; undertow-dev@lists.jboss.org<br>&gt; https://lists.jboss.org/mailman/listinfo/undertow-dev<br>_______________________________________________<br>undertow-dev mailing list<br>undertow-dev@lists.jboss.org<br>https://lists.jboss.org/mailman/listinfo/undertow-dev<br></blockquote><div><br></div></div></body></html>