h2o: Reduce the size of the default HTTP2 buffer
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 14 Jun 2023 13:22:03 +0000 (15:22 +0200)
committerRosen Penev <rosenp@gmail.com>
Thu, 22 Jun 2023 18:36:50 +0000 (21:36 +0300)
The initial value takes 80kB of memory for each HTTP/2 connection
which is a lot on small devices. Using 8kB instead saves a fair
amount of memory without sacrificing performance.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
libs/h2o/patches/800-smaller-write-buffer.patch [new file with mode: 0644]

diff --git a/libs/h2o/patches/800-smaller-write-buffer.patch b/libs/h2o/patches/800-smaller-write-buffer.patch
new file mode 100644 (file)
index 0000000..5527ad5
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/include/h2o/http2_internal.h
++++ b/include/h2o/http2_internal.h
+@@ -33,7 +33,7 @@
+ typedef struct st_h2o_http2_conn_t h2o_http2_conn_t;
+ typedef struct st_h2o_http2_stream_t h2o_http2_stream_t;
+-#define H2O_HTTP2_DEFAULT_OUTBUF_SIZE 81920 /* the target size of each write call; connection flow control window + alpha */
++#define H2O_HTTP2_DEFAULT_OUTBUF_SIZE 8192 /* the target size of each write call; connection flow control window + alpha */
+ #define H2O_HTTP2_DEFAULT_OUTBUF_SOFT_MAX_SIZE 524288 /* 512KB; stops reading if size exceeds this value */
+ /* hpack */