Skip to content

Releases: nginx-modules/ngx_http_tls_dyn_size

Update patch for NGINX 1.17.7+

05 Feb 23:30
Compare
Choose a tag to compare
0.5

Update patch for NGINX 1.17.7+ (#3)

0.4

09 Oct 20:04
773a4c1
Compare
Choose a tag to compare
0.4
  • Added patch for NGINX 1.15.5+
  • Fix patch for NGINX 1.15.3+

0.3

23 Sep 14:29
5e3b560
Compare
Choose a tag to compare
0.3
Update patch for NGINX 1.15.3+

0.2

23 Sep 14:29
Compare
Choose a tag to compare
0.2
Update patch for NGINX 1.13.0+

0.1: Optimizing TCP/TLS to reduce latency for NGINX

01 Mar 14:59
Compare
Choose a tag to compare

What we do now

We use a static record size of 4K. This gives a good balance of latency and
throughput.

Optimize latency

By initialy sending small (1 TCP segment) sized records, we are able to avoid
HoL blocking of the first byte. This means TTFB is sometime lower by a whole
RTT.

Optimizing throughput

By sending increasingly larger records later in the connection, when HoL is not a problem, we reduce the overhead of TLS record (29 bytes per record with GCM/CHACHA-POLY).

Logic

Start each connection with small records (1369 byte default, change with ssl_dyn_rec_size_lo).
After a given number of records (40, change with ssl_dyn_rec_threshold) start sending larger records (4229, ssl_dyn_rec_size_hi).

Eventually after the same number of records, start sending the largest records (ssl_buffer_size).

In case the connection idles for a given amount of time (1s, ssl_dyn_rec_timeout), the process repeats itself (i.e. begin sending small records again).