diff --git a/doc/configuration.txt b/doc/configuration.txt
index a3f3e46..1acc560 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -1109,6 +1109,7 @@
    - tune.pipesize
    - tune.pool-high-fd-ratio
    - tune.pool-low-fd-ratio
+   - tune.quic.conn-buf-limit
    - tune.rcvbuf.client
    - tune.rcvbuf.server
    - tune.recv_enough
@@ -2788,6 +2789,16 @@
   use before we stop putting connection into the idle pool for reuse. The
   default is 20.
 
+tune.quic.conn-buf-limit <number>
+  Warning: QUIC support in HAProxy is currently experimental. Configuration may
+  change without deprecation in the future.
+
+  This settings defines the maximum number of buffers allocated for a QUIC
+  connection on data emission. By default, it is set to 30. QUIC buffers are
+  drained on ACK reception. This setting has a direct impact on the throughput
+  and memory consumption and can be adjusted according to an estimated round
+  time-trip.
+
 tune.rcvbuf.client <number>
 tune.rcvbuf.server <number>
   Forces the kernel socket receive buffer size on the client or the server side
diff --git a/include/haproxy/global-t.h b/include/haproxy/global-t.h
index 27707d2..186968d 100644
--- a/include/haproxy/global-t.h
+++ b/include/haproxy/global-t.h
@@ -154,6 +154,9 @@
 		int pool_low_count;   /* max number of opened fd before we stop using new idle connections */
 		int pool_high_count;  /* max number of opened fd before we start killing idle connections when creating new connections */
 		unsigned short idle_timer; /* how long before an empty buffer is considered idle (ms) */
+#ifdef USE_QUIC
+		unsigned int quic_streams_buf;
+#endif /* USE_QUIC */
 	} tune;
 	struct {
 		char *prefix;           /* path prefix of unix bind socket */
diff --git a/src/cfgparse-quic.c b/src/cfgparse-quic.c
index 4a94bb3..deaa13f 100644
--- a/src/cfgparse-quic.c
+++ b/src/cfgparse-quic.c
@@ -1,6 +1,9 @@
 #include <haproxy/api.h>
+#include <haproxy/cfgparse.h>
+#include <haproxy/global-t.h>
 #include <haproxy/listener.h>
 #include <haproxy/proxy-t.h>
+#include <haproxy/tools.h>
 
 static int bind_parse_quic_force_retry(char **args, int cur_arg, struct proxy *px, struct bind_conf *conf, char **err)
 {
@@ -14,3 +17,33 @@
 }};
 
 INITCALL1(STG_REGISTER, bind_register_keywords, &bind_kws);
+
+static int cfg_parse_quic_conn_buf_limit(char **args, int section_type,
+                                         struct proxy *curpx,
+                                         const struct proxy *defpx,
+                                         const char *file, int line, char **err)
+{
+	unsigned int arg = 0;
+
+	if (too_many_args(1, args, err, NULL))
+		return -1;
+
+	if (*(args[1]) != 0)
+		arg = atoi(args[1]);
+
+	if (arg < 1) {
+		memprintf(err, "'%s' expects a positive integer.", args[0]);
+		return -1;
+	}
+
+	global.tune.quic_streams_buf = arg;
+
+	return 0;
+}
+
+static struct cfg_kw_list cfg_kws = {ILH, {
+	{ CFG_GLOBAL, "tune.quic.conn-buf-limit", cfg_parse_quic_conn_buf_limit },
+	{ 0, NULL, NULL }
+}};
+
+INITCALL1(STG_REGISTER, cfg_register_keywords, &cfg_kws);
diff --git a/src/haproxy.c b/src/haproxy.c
index a26c8f3..0187bc6 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -203,6 +203,9 @@
 #else
 		.idle_timer = 1000, /* 1 second */
 #endif
+#ifdef USE_QUIC
+		.quic_streams_buf = 30,
+#endif /* USE_QUIC */
 	},
 #ifdef USE_OPENSSL
 #ifdef DEFAULT_MAXSSLCONN
diff --git a/src/quic_stream.c b/src/quic_stream.c
index 839efd0..e5998ef 100644
--- a/src/quic_stream.c
+++ b/src/quic_stream.c
@@ -208,8 +208,7 @@
  */
 static int qc_stream_buf_avail(struct quic_conn *qc)
 {
-	/* TODO use a global tune settings for max */
-	return qc->stream_buf_count < 30;
+	return qc->stream_buf_count < global.tune.quic_streams_buf;
 }
 
 /* Allocate a new current buffer for <stream>. The buffer limit count for the
