<div dir="ltr">Thanks, makes perfect sense :)<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 23, 2017 at 7:56 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru" target="_blank">mdounin@mdounin.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello!<br>
<span class=""><br>
On Tue, May 23, 2017 at 06:44:27PM +0200, Albert Casademont wrote:<br>
<br>
> Hi Maxim,<br>
><br>
> Yes, as we were already compiling our own nginx we apply a patch in openssl<br>
> before compilation increasing the buffer size to 5120 bytes as a workaround.<br>
><br>
> As for the patch, we already had "tcp_nodelay on" set in our http {} config<br>
> and we kept seeing the extra RTT, is this a different setting or I am<br>
> missing something?<br>
<br>
</span>Normally nginx doesn't try to set TCP_NODELAY unless needed, even<br>
with "tcp_nodelay on" (which is the default, BTW).  Usually<br>
it is set when a connection goes to keepalive state.<br>
<br>
With the patch TCP_NODELAY will be set before SSL handshake, and<br>
so there will be no extra RTT if the handshake buffer used by<br>
OpenSSL is not enough.<br>
<span class=""><br>
> I believe the optimal solution would be that openssl exposed an API to<br>
> dynamically adjust the buffer size, I'll try to work on that...<br>
<br>
</span>Sure.<br>
<br>
The TCP_NODELAY patch may make sense regardless though, it will<br>
address the problem for old OpenSSL versions and will also protect<br>
from other similar issues (e.g., we've seen NewSessionTicket<br>
messages sent in separate writes when testing TLSv1.3 with OpenSSL<br>
master branch).<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Maxim Dounin<br>
<a href="http://nginx.org/" rel="noreferrer" target="_blank">http://nginx.org/</a><br>
______________________________<wbr>_________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/<wbr>mailman/listinfo/nginx-devel</a><br>
</div></div></blockquote></div><br></div>