From 4b867270d687a9b781b8d47165166dc38e7ccbdd Mon Sep 17 00:00:00 2001 From: xqzr <34030394+xqzr@users.noreply.github.com> Date: Mon, 20 Dec 2021 02:18:40 +0800 Subject: [PATCH 1/6] add `initial_windows_size` ../../pull/864 --- docs/config/transports/grpc.md | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/config/transports/grpc.md b/docs/config/transports/grpc.md index f31001b..6219bee 100644 --- a/docs/config/transports/grpc.md +++ b/docs/config/transports/grpc.md @@ -38,7 +38,8 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m "multiMode": false, "idle_timeout": 10, "health_check_timeout": 20, - "permit_without_stream": false + "permit_without_stream": false, + "initial_windows_size": 0 } ``` @@ -59,12 +60,28 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m 健康检查默认**不启用**。 -仅需在**客户端**配置。 +注:仅需在**出站**配置。 + +::: tip +可能会解决一些“断流”问题。 +::: > `health_check_timeout`: number 单位秒,健康检查的超时时间。如果在这段时间内没有完成健康检查,且仍然没有数据传输时,即认为健康检查失败。默认值为 `20`。 +注:仅需在**出站**配置。 + > `permit_without_stream`: true | false `true` 允许在没有子连接时进行健康检查。默认值为 `false`。 + +> `initial_windows_size`: number + +当值小于等于 `0` 时,此功能不生效。当值大于等于 `65535` 时,动态窗口机制(Dynamic Window)会被禁用。默认值为 `0`,即不生效。 + +注:仅需在**出站**配置。 + +::: tip +通过 Cloudflare CDN 时,可将值设为 `65535`,即禁用动态窗口机制(Dynamic Window),可防止 Cloudflare CDN 发送意外的 h2 GOAWAY 帧以关闭现有连接。 +::: From 130ad7437dc0dcf57f0b23825e15ef00f18b2b8b Mon Sep 17 00:00:00 2001 From: xqzr <34030394+xqzr@users.noreply.github.com> Date: Mon, 20 Dec 2021 02:46:00 +0800 Subject: [PATCH 2/6] Update grpc.md --- docs/config/transports/grpc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/transports/grpc.md b/docs/config/transports/grpc.md index 6219bee..d05b6ef 100644 --- a/docs/config/transports/grpc.md +++ b/docs/config/transports/grpc.md @@ -78,7 +78,7 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m > `initial_windows_size`: number -当值小于等于 `0` 时,此功能不生效。当值大于等于 `65535` 时,动态窗口机制(Dynamic Window)会被禁用。默认值为 `0`,即不生效。 +h2 Stream 初始窗口大小。当值小于等于 `0` 时,此功能不生效。当值大于等于 `65535` 时,动态窗口机制(Dynamic Window)会被禁用。默认值为 `0`,即不生效。 注:仅需在**出站**配置。 From 5ece68eec9d730047396b76c8463e961da37a236 Mon Sep 17 00:00:00 2001 From: xqzr <34030394+xqzr@users.noreply.github.com> Date: Tue, 21 Dec 2021 21:40:55 +0800 Subject: [PATCH 3/6] Update grpc.md --- docs/config/transports/grpc.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/config/transports/grpc.md b/docs/config/transports/grpc.md index d05b6ef..2c4cdfe 100644 --- a/docs/config/transports/grpc.md +++ b/docs/config/transports/grpc.md @@ -78,10 +78,10 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m > `initial_windows_size`: number -h2 Stream 初始窗口大小。当值小于等于 `0` 时,此功能不生效。当值大于等于 `65535` 时,动态窗口机制(Dynamic Window)会被禁用。默认值为 `0`,即不生效。 +h2 Stream 初始窗口大小。当值小于等于 `0` 时,此功能不生效。当值大于 `65535` 时,动态窗口机制(Dynamic Window)会被禁用。默认值为 `0`,即不生效。 注:仅需在**出站**配置。 ::: tip -通过 Cloudflare CDN 时,可将值设为 `65535`,即禁用动态窗口机制(Dynamic Window),可防止 Cloudflare CDN 发送意外的 h2 GOAWAY 帧以关闭现有连接。 +通过 Cloudflare CDN 时,可将值设为 `524288`,即禁用动态窗口机制(Dynamic Window),可防止 Cloudflare CDN 发送意外的 h2 GOAWAY 帧以关闭现有连接。 ::: From 04c900b38258b6e4bb7954f38add8e6b7d95882a Mon Sep 17 00:00:00 2001 From: xqzr <34030394+xqzr@users.noreply.github.com> Date: Sat, 26 Feb 2022 23:46:44 +0800 Subject: [PATCH 4/6] tips --- docs/config/transports/grpc.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/config/transports/grpc.md b/docs/config/transports/grpc.md index 2c4cdfe..202f170 100644 --- a/docs/config/transports/grpc.md +++ b/docs/config/transports/grpc.md @@ -60,7 +60,7 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m 健康检查默认**不启用**。 -注:仅需在**出站**配置。 +注:**只能**在**出站**(**客户端**)配置。 ::: tip 可能会解决一些“断流”问题。 @@ -70,17 +70,19 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m 单位秒,健康检查的超时时间。如果在这段时间内没有完成健康检查,且仍然没有数据传输时,即认为健康检查失败。默认值为 `20`。 -注:仅需在**出站**配置。 +注:**只能**在**出站**(**客户端**)配置。 > `permit_without_stream`: true | false `true` 允许在没有子连接时进行健康检查。默认值为 `false`。 +注:**只能**在**出站**(**客户端**)配置。 + > `initial_windows_size`: number h2 Stream 初始窗口大小。当值小于等于 `0` 时,此功能不生效。当值大于 `65535` 时,动态窗口机制(Dynamic Window)会被禁用。默认值为 `0`,即不生效。 -注:仅需在**出站**配置。 +注:**只能**在**出站**(**客户端**)配置。 ::: tip 通过 Cloudflare CDN 时,可将值设为 `524288`,即禁用动态窗口机制(Dynamic Window),可防止 Cloudflare CDN 发送意外的 h2 GOAWAY 帧以关闭现有连接。 From c5c779ee773794f28913078e2cff226447fc5591 Mon Sep 17 00:00:00 2001 From: xqzr <34030394+xqzr@users.noreply.github.com> Date: Mon, 7 Mar 2022 16:58:51 +0800 Subject: [PATCH 5/6] Update grpc.md --- docs/config/transports/grpc.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/config/transports/grpc.md b/docs/config/transports/grpc.md index 202f170..e6b5c76 100644 --- a/docs/config/transports/grpc.md +++ b/docs/config/transports/grpc.md @@ -54,13 +54,15 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m 这是一个 **实验性** 选项,可能不会被长期保留,也不保证跨版本兼容。此模式在 **测试环境中** 能够带来约 20% 的性能提升,实际效果因传输速率不同而不同。 +注:**只需**在**出站**(**客户端**)配置。 + > `idle_timeout`: number 单位秒,当这段时间内没有数据传输时,将会进行健康检查。如果此值设置为 `10` 以下,将会使用 `10`,即最小值。 健康检查默认**不启用**。 -注:**只能**在**出站**(**客户端**)配置。 +注:**只需**在**出站**(**客户端**)配置。 ::: tip 可能会解决一些“断流”问题。 @@ -70,19 +72,19 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m 单位秒,健康检查的超时时间。如果在这段时间内没有完成健康检查,且仍然没有数据传输时,即认为健康检查失败。默认值为 `20`。 -注:**只能**在**出站**(**客户端**)配置。 +注:**只需**在**出站**(**客户端**)配置。 > `permit_without_stream`: true | false `true` 允许在没有子连接时进行健康检查。默认值为 `false`。 -注:**只能**在**出站**(**客户端**)配置。 +注:**只需**在**出站**(**客户端**)配置。 > `initial_windows_size`: number h2 Stream 初始窗口大小。当值小于等于 `0` 时,此功能不生效。当值大于 `65535` 时,动态窗口机制(Dynamic Window)会被禁用。默认值为 `0`,即不生效。 -注:**只能**在**出站**(**客户端**)配置。 +注:**只需**在**出站**(**客户端**)配置。 ::: tip 通过 Cloudflare CDN 时,可将值设为 `524288`,即禁用动态窗口机制(Dynamic Window),可防止 Cloudflare CDN 发送意外的 h2 GOAWAY 帧以关闭现有连接。 From de68f4c718fbef8ef20697b03293fa0f1da832fc Mon Sep 17 00:00:00 2001 From: xqzr <34030394+xqzr@users.noreply.github.com> Date: Tue, 19 Apr 2022 00:16:58 +0800 Subject: [PATCH 6/6] idle_timeout tip --- docs/config/transports/grpc.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/config/transports/grpc.md b/docs/config/transports/grpc.md index e6b5c76..f154bf5 100644 --- a/docs/config/transports/grpc.md +++ b/docs/config/transports/grpc.md @@ -60,6 +60,10 @@ gRPC(HTTP/2)内置多路复用,不建议使用 gRPC 与 HTTP/2 时启用 m 单位秒,当这段时间内没有数据传输时,将会进行健康检查。如果此值设置为 `10` 以下,将会使用 `10`,即最小值。 +::: tip +设为 `60` 以下,服务端可能发送意外的 h2 GOAWAY 帧以关闭现有连接。 +::: + 健康检查默认**不启用**。 注:**只需**在**出站**(**客户端**)配置。