当前位置: 首页 > 知识库问答 >
问题:

Istio/特使:如何配置特使连接缓冲区限制

戎劲
2023-03-14

我在这里也问了这个问题https://github.com/istio/istio/issues/33416-目前没有回应,如果在座的任何人知道答案,我们将不胜感激

Istio版本是1.6.4

因此,默认情况下,每个连接的特使似乎会缓冲256Mb左右(我不明白为什么,对我来说毫无意义)。例如,当我有这样一个场景时——客户端

我知道特使过滤器可以用来改变这一切,我试过了,我键入了所有的特使命令,以确保配置到位,但我仍然看到特使缓冲起来,肚子涨了。我使用的yaml如下-我不关心它适用于哪个端口/路由,我希望它适用于所有连接,256Mb对任何连接都没有意义!我在这件事上花了很多时间,有人能告诉我我可能做错了什么吗?还需要按名称空间执行此操作吗?

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: envoy-filter-for-nextensio-global
  namespace: istio-system
spec:
  configPatches:
    - applyTo: CLUSTER
      patch:
        operation: MERGE
        value:
          per_connection_buffer_limit_bytes: 65536
    - applyTo: NETWORK_FILTER
      match:
        listener:
          filterChain:
            filter:
              name: "envoy.http_connection_manager"
      patch:
        operation: MERGE
        value:
          typed_config:
            "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
            http2_protocol_options:
              max_concurrent_streams: 100
              initial_stream_window_size: 65536
              initial_connection_window_size: 65536
    - applyTo: LISTENER
      patch:
        operation: MERGE
        value:
          per_connection_buffer_limit_bytes: 65536

共有1个答案

秦弘亮
2023-03-14

顺便说一句,我知道如何让它工作了,请看github。com/istio/istio/issues/33416用于工作正常的YAML

 类似资料:
  • 问题内容: 在编写用于OpenGL库的Matrix类时,我遇到了一个问题,即使用Java数组还是使用Buffer策略存储数据(JOGL为Matrix操作提供直接缓冲区复制)。为了对此进行分析,我编写了一个小型性能测试程序,该程序比较了Arrays vs Buffers和Direct Buffers上循环和批量操作的相对速度。 我想在这里与您分享我的结果(因为我发现它们很有趣)。请随时发表评论和/或

  • 我们有一个Istio集群,我们正在尝试为Kubernetes配置水平pod自动Scale。我们希望使用请求计数作为HPA的自定义度量。我们如何利用伊斯蒂奥的普罗米修斯来达到同样的目的?

  • 问题内容: 我正在使用扫描仪的方法读取文本文件行。但是,当我在文件行中达到一定大小时,扫描仪不再允许我读取它,而是返回一个空行。 我应该如何配置缓冲区以接收大量数据? 只是一个文件,行中有许多整数,并用空格分隔。例如,一行中有40000个整数。(请注意,它适用于小于或等于10000整数的文件行,但不适用于40000) 234 544 765 45 34 67 67 87 98 43 [… n =

  • 我正在使用下面的代码片段每秒一次通过com端口发送gps数据: 这一切都很好,但是当使用以下方法写入串行端口时: 我的读取程序,使用: 将只从该写入状态读取254字节的数据。油灰也是如此。 我尝试过将写状态分成254个字节大小的块并写两次,但是第二次写操作,尽管被确认为由我的写入程序运行,却从未被读取程序读取。 我知道我的写缓冲区是4096字节,读缓冲区是2048字节。 我的字符串是这样的: 当我

  • 建议最多的问题没有答案。 我想为建立和维护的整个http连接设置一个特定的标头(keep-alive设置为true),即, 我提出的每个请求都应该包含我的自定义头。显然, 不是一个选项,因为它为整个设置标头,而我希望它只用于特定的连接,该连接是在我第一次调用服务器上的URL时创建的。 然后,该服务器将连接保持为活动状态,并希望我在连接处于活动状态时发出的每个后续请求都有一个MyHeader头。

  • 金属(版本0.7.3) Kubernetes(版本1.12.2) ISTIO(版本1.0.3) 我会从什么起作用开始。 所有补充服务均已部署,大部分正在工作: null 网关 虚拟服务 我仔细检查了一下,这不是DNS的问题,因为我可以通过busybox或使用K8S仪表板进入入口网关的shell