Bootstrap (proto)
這個 proto 是透過 -c
CLI 標誌提供的,並且作為 Envoy v3 組態的根。 有關更多詳細資訊,請參閱 v3 組態概觀。
config.bootstrap.v3.Bootstrap
[config.bootstrap.v3.Bootstrap proto]
Bootstrap 組態概觀。
{
"node": {...},
"static_resources": {...},
"dynamic_resources": {...},
"cluster_manager": {...},
"hds_config": {...},
"flags_path": ...,
"stats_sinks": [],
"deferred_stat_options": {...},
"stats_config": {...},
"stats_flush_interval": {...},
"stats_flush_on_admin": ...,
"watchdog": {...},
"watchdogs": {...},
"tracing": {...},
"layered_runtime": {...},
"admin": {...},
"overload_manager": {...},
"enable_dispatcher_stats": ...,
"header_prefix": ...,
"stats_server_version_override": {...},
"use_tcp_for_dns_lookups": ...,
"dns_resolution_config": {...},
"typed_dns_resolver_config": {...},
"bootstrap_extensions": [],
"fatal_actions": [],
"default_socket_interface": ...,
"inline_headers": [],
"perf_tracing_file_path": ...,
"default_regex_engine": {...},
"xds_config_tracker_extension": {...},
"application_log_config": {...},
"grpc_async_client_manager_config": {...},
"memory_allocator_manager": {...}
}
- node
(config.core.v3.Node) 要呈現給管理伺服器的節點身分識別,以及用於實例識別目的(例如,在產生的標頭中)。
- static_resources
- dynamic_resources
(config.bootstrap.v3.Bootstrap.DynamicResources) xDS 組態來源。
- cluster_manager
(config.bootstrap.v3.ClusterManager) 叢集管理器的組態,該管理器擁有伺服器內的所有上游叢集。
- hds_config
(config.core.v3.ApiConfigSource) 健康情況探索服務組態選項。 (core.ApiConfigSource)
- flags_path
(string) 可選的檔案系統路徑,用於搜尋啟動標誌檔案。
- stats_sinks
(repeated config.metrics.v3.StatsSink) 可選的統計資料接收器集。
- deferred_stat_options
(config.bootstrap.v3.Bootstrap.DeferredStatOptions) 控制延遲建立相容統計資料行為的選項。
- stats_config
(config.metrics.v3.StatsConfig) 用於內部處理統計資料的組態。
- stats_flush_interval
(Duration) 可選的刷新到設定的統計資料接收器之間的時間間隔。 出於效能考量,Envoy 會鎖存計數器,並且僅以週期性間隔刷新計數器和儀表。 如果未指定,則預設值為 5000 毫秒(5 秒)。 只能設定
stats_flush_interval
或stats_flush_on_admin
其中一個。 時間長度必須至少為 1 毫秒,且最多為 5 分鐘。
- stats_flush_on_admin
(bool) 僅在管理介面上查詢時,才將統計資料刷新到接收器。 如果設定,則不會建立刷新計時器。 只能設定
stats_flush_on_admin
或stats_flush_interval
其中一個。
- watchdog
(config.bootstrap.v3.Watchdog) 可選的看門狗組態。 這是用於整個系統的單一看門狗組態。 已棄用,改用具有更精細粒度的
watchdogs
。
- watchdogs
(config.bootstrap.v3.Watchdogs) 可選的看門狗組態。 這用於為不同的子系統指定不同的看門狗。
- tracing
(config.trace.v3.Tracing) 用於外部追蹤提供者的組態。
注意
此欄位已棄用,改用 HttpConnectionManager.Tracing.provider。
- layered_runtime
(config.bootstrap.v3.LayeredRuntime) 用於執行階段組態提供者的組態。 如果未指定,將使用「null」提供者,這將導致使用所有預設值。
- admin
(config.bootstrap.v3.Admin) 用於本機管理 HTTP 伺服器的組態。
- overload_manager
(config.overload.v3.OverloadManager) 可選的過載管理器組態。
注意
當存在不受信任的下游時,應該設定此欄位。
當存在不受信任的上游時,應該設定此欄位。
不受信任環境的組態範例
overload_manager: actions: - name: envoy.overload_actions.shrink_heap triggers: - name: envoy.resource_monitors.fixed_heap threshold: value: 0.9 - name: envoy.overload_actions.stop_accepting_requests triggers: - name: envoy.resource_monitors.fixed_heap threshold: value: 0.95 refresh_interval: 0.25s resource_monitors: - name: envoy.resource_monitors.fixed_heap typed_config: '@type': type.googleapis.com/envoy.extensions.resource_monitors.fixed_heap.v3.FixedHeapConfig max_heap_size_bytes: 1073741824.0
- enable_dispatcher_stats
(bool) 啟用 事件分派器的統計資料,預設為 false。 請注意,這會記錄每個執行緒上事件迴圈的每次迭代的值。 這通常應該是最小的負擔,但是當使用 statsd 時,它會個別透過網路傳送每個觀察到的值,因為 statsd 協定沒有任何方式可以表示直方圖摘要。 請注意,這可能是非常大量的資料。
- header_prefix
(string) 可選字串,將用於取代 x-envoy 來為標頭加上前綴。
例如,如果此字串存在並設定為 X-Foo,則 x-envoy-retry-on 將轉換為 x-foo-retry-on 等。
請注意,這適用於 Envoy 將產生的標頭、Envoy 將清理的標頭,以及 Envoy 將信任的核心程式碼和核心擴展的標頭。 請非常小心地變更此字串,尤其是在多層 Envoy 部署或使用非上游擴展的部署中。
- stats_server_version_override
(UInt64Value) 可選的 Proxy 版本,如果指定,將用於設定 server.version 統計資料 的值。 Envoy 不會處理此值,它會按原樣傳送到 統計資料接收器。
- use_tcp_for_dns_lookups
(bool) 始終使用 TCP 查詢而不是 UDP 查詢進行 DNS 查詢。 當指定 dns_resolvers 和 use_tcp_for_dns_lookups 時,可以在 cds_config 中針對每個叢集覆寫此設定。 此欄位已棄用,改用
dns_resolution_config
,後者會將所有 DNS 解析器組態聚合在單一訊息中。
- dns_resolution_config
(config.core.v3.DnsResolutionConfig) DNS 解析組態,包括底層 DNS 解析器位址和選項。 當指定 dns_resolution_config 時,可以在 cds_config 中針對每個叢集覆寫此設定。 此欄位已棄用,改用 typed_dns_resolver_config。
- typed_dns_resolver_config
(config.core.v3.TypedExtensionConfig) DNS 解析器類型組態擴展。 此擴展可用於設定 c-ares、apple 或任何其他 DNS 解析器類型和相關參數。 例如,CaresDnsResolverConfig 的物件可以封裝到此
typed_dns_resolver_config
中。 此組態取代 dns_resolution_config 組態。 在dns_resolution_config
和typed_dns_resolver_config
都存在的轉換期間,當typed_dns_resolver_config
就緒時,Envoy 將使用它並忽略dns_resolution_config
。 當typed_dns_resolver_config
遺失時,會使用預設行為。
- bootstrap_extensions
(repeated config.core.v3.TypedExtensionConfig) 指定在啟動時實例化的可選引導擴充功能。每個項目都包含特定於擴充功能的設定。
- fatal_actions
(repeated config.bootstrap.v3.FatalAction) 指定在啟動時實例化的可選擴充功能,並在導致崩潰的請求發生崩潰時調用。
- default_socket_interface
(string) 選擇性覆寫預設的 socket 介面。該值必須是通過引導擴充功能初始化的 socket 介面工廠之一的名稱
- inline_headers
(repeated config.bootstrap.v3.CustomInlineHeader) 指定一組需要註冊為內聯標頭的標頭。此設定允許使用者在 Envoy 啟動時按需自訂內聯標頭,而無需修改 Envoy 的原始碼。
請注意,「set-cookie」標頭不能註冊為內聯標頭。
- perf_tracing_file_path
(string) 可選的效能追蹤資料檔案路徑,該資料由二進位 ProtoBuf 格式的 "Perfetto" SDK 建立。預設值為 "envoy.pftrace"。
- default_regex_engine
(config.core.v3.TypedExtensionConfig) 選擇性覆寫預設的正規表示式引擎。如果未指定該值,預設會使用 Google RE2。
- xds_config_tracker_extension
(config.core.v3.TypedExtensionConfig) 可選的 XdsConfigTracker 設定,允許在外部元件(例如,外部追蹤器或監視器)中追蹤 xDS 回應。它提供接收、擷取或無法處理 xDS 資源和訊息時的處理點。如果未指定值,則不會使用 XdsConfigTracker。
請注意
目前沒有內部儲存庫擴充功能,並且在使用之前應實作 XdsConfigTracker 介面。有關介面使用的範例,請參閱 xds_config_tracker_integration_test。
- application_log_config
(config.bootstrap.v3.Bootstrap.ApplicationLogConfig) 可選的應用程式記錄設定。
- grpc_async_client_manager_config
(config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig) 可選的 gRPC 非同步管理員設定。
- memory_allocator_manager
(config.bootstrap.v3.MemoryAllocatorManager) 記憶體配置管理員的可選設定。僅 tcmalloc 配置器 支援記憶體釋放。
config.bootstrap.v3.Bootstrap.StaticResources
[config.bootstrap.v3.Bootstrap.StaticResources proto]
{
"listeners": [],
"clusters": [],
"secrets": []
}
- listeners
(repeated config.listener.v3.Listener) 靜態 Listeners。無論 LDS 設定如何,這些接聽器都可用。
- clusters
(repeated config.cluster.v3.Cluster) 如果為 cds_config 指定了基於網路的設定來源,則必須有一些可用的初始叢集定義,以允許 Envoy 知道如何與管理伺服器對話。這些叢集定義可能不使用 EDS(即它們應為靜態 IP 或基於 DNS 的)。
- secrets
(repeated extensions.transport_sockets.tls.v3.Secret) 這些靜態密碼可供 SdsSecretConfig 使用
config.bootstrap.v3.Bootstrap.DynamicResources
[config.bootstrap.v3.Bootstrap.DynamicResources proto]
{
"lds_config": {...},
"cds_config": {...},
"ads_config": {...}
}
- lds_config
(config.core.v3.ConfigSource) 所有 Listeners 都由單一的 LDS 設定來源提供。
- cds_config
(config.core.v3.ConfigSource) 所有後啟動的 Cluster 定義都由單一的 CDS 設定來源提供。
- ads_config
(config.core.v3.ApiConfigSource) 可以選擇性地指定單一的 ADS 來源。這必須具有 api_type GRPC。只有設定了 ads 欄位的 ConfigSources 會在 ADS 通道上串流。
config.bootstrap.v3.Bootstrap.ApplicationLogConfig
[config.bootstrap.v3.Bootstrap.ApplicationLogConfig proto]
{
"log_format": {...}
}
- log_format
(config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat) 可選欄位,用於設定應用程式記錄格式。如果設定此欄位,它將覆寫預設的記錄格式。不允許同時設定此欄位和
--log-format
命令列選項,並將導致引導錯誤。
config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat
[config.bootstrap.v3.Bootstrap.ApplicationLogConfig.LogFormat proto]
{
"json_format": {...},
"text_format": ...
}
- json_format
(Struct) 以 JSON 格式刷新應用程式記錄。配置的 JSON 結構可以支援
--log-format
命令列選項部分中指定的所有格式標誌,除了%v
和%_
標誌之外。必須設定 json_format 和 text_format 中的其中一個。
- text_format
(string) 以字串定義的格式刷新應用程式記錄。文字格式可以支援
--log-format
命令列選項部分中指定的所有格式標誌。必須設定 json_format 和 text_format 中的其中一個。
config.bootstrap.v3.Bootstrap.DeferredStatOptions
[config.bootstrap.v3.Bootstrap.DeferredStatOptions proto]
{
"enable_deferred_creation_stats": ...
}
config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig
[config.bootstrap.v3.Bootstrap.GrpcAsyncClientManagerConfig proto]
{
"max_cached_entry_idle_duration": {...}
}
- max_cached_entry_idle_duration
(Duration) 可選欄位,用於設定快取 gRPC 用戶端物件的到期時間。最小值為 5 秒,預設值為 50 秒。
config.bootstrap.v3.Admin
[config.bootstrap.v3.Admin proto]
管理介面 操作說明文件。
{
"access_log": [],
"access_log_path": ...,
"profile_path": ...,
"address": {...},
"socket_options": [],
"ignore_global_conn_limit": ...
}
- access_log
(重複的 config.accesslog.v3.AccessLog)用於管理伺服器發出的存取日誌的設定。
- access_log_path
(字串)用於寫入管理伺服器存取日誌的路徑。如果不需要存取日誌,請指定 ‘/dev/null’。只有在設定address時才需要此設定。此設定已棄用,請改用
access_log
,它提供更多選項。
- profile_path
(字串)用於管理伺服器的 CPU 分析器輸出路徑。如果未指定分析路徑,則預設為 ‘/var/log/envoy/envoy.prof’。
- address
(config.core.v3.Address)管理伺服器將監聽的 TCP 位址。如果未指定,Envoy 將不會啟動管理伺服器。
- socket_options
(重複的 config.core.v3.SocketOption)Envoy 原始碼或預編譯二進位檔案中可能不存在的其他 Socket 選項。
- ignore_global_conn_limit
(布林值)指示global_downstream_max_connections是否應適用於管理介面。
config.bootstrap.v3.ClusterManager
[config.bootstrap.v3.ClusterManager proto]
叢集管理員架構概觀。
{
"local_cluster_name": ...,
"outlier_detection": {...},
"upstream_bind_config": {...},
"load_stats_config": {...},
"enable_deferred_cluster_creation": ...
}
- local_cluster_name
(字串)本機叢集(即擁有執行此設定的 Envoy 的叢集)的名稱。為了啟用區域感知路由,必須設定此選項。如果定義了
local_cluster_name
,則必須在Bootstrap 靜態叢集資源中定義叢集。這與不影響區域感知路由的--service-cluster
選項無關。
- outlier_detection
(config.bootstrap.v3.ClusterManager.OutlierDetection)異常偵測的可選全域設定。
- upstream_bind_config
(config.core.v3.BindConfig)用於綁定新建立的上游連線的可選設定。此設定可以透過 cds_config 中的 upstream_bind_config 在每個叢集的基礎上覆寫。
- load_stats_config
(config.core.v3.ApiConfigSource)一個管理伺服器端點,用於透過
StreamLoadStats
串流負載統計資料。此設定必須具有api_type GRPC。
- enable_deferred_cluster_creation
(布林值)ClusterManager 是否會在請求期間在工作執行緒中內聯建立叢集。如果存在大量非使用中的叢集且工作執行緒 > 1,這將節省記憶體和 CPU 週期。
config.bootstrap.v3.ClusterManager.OutlierDetection
[config.bootstrap.v3.ClusterManager.OutlierDetection proto]
{
"event_log_path": ...
}
- event_log_path
(字串)指定異常事件日誌的路徑。
config.bootstrap.v3.Watchdogs
[config.bootstrap.v3.Watchdogs proto]
允許您為不同的子系統指定不同的看門狗設定。這允許為看門狗制定更精細的策略。如果省略子系統,將使用該系統的預設值。
{
"main_thread_watchdog": {...},
"worker_watchdog": {...}
}
- main_thread_watchdog
(config.bootstrap.v3.Watchdog)主執行緒的看門狗。
- worker_watchdog
(config.bootstrap.v3.Watchdog)工作執行緒的看門狗。
config.bootstrap.v3.Watchdog
[config.bootstrap.v3.Watchdog proto]
Envoy 程序看門狗設定。設定後,此設定會監控無回應的執行緒,並在達到設定的閾值後終止程序。如需更多資訊,請參閱看門狗說明文件。
{
"actions": [],
"miss_timeout": {...},
"megamiss_timeout": {...},
"kill_timeout": {...},
"max_kill_timeout_jitter": {...},
"multikill_timeout": {...},
"multikill_threshold": {...}
}
- actions
(重複的 config.bootstrap.v3.Watchdog.WatchdogAction)註冊將在給定的 WatchDog 事件上觸發的動作。如需事件優先順序,請參閱
WatchDogAction
。
- miss_timeout
(持續時間)Envoy 在此持續時間後將無回應的執行緒計入
watchdog_miss
統計資料。如果未指定,則預設值為 200 毫秒。
- megamiss_timeout
(持續時間)Envoy 在此持續時間後將無回應的執行緒計入
watchdog_mega_miss
統計資料。如果未指定,則預設值為 1000 毫秒。
- kill_timeout
(持續時間)如果受監控的執行緒在此持續時間內無回應,則假設發生程式設計錯誤並終止整個 Envoy 程序。設定為 0 以停用終止行為。如果未指定,則預設值為 0(停用)。
- max_kill_timeout_jitter
(持續時間)定義用於調整
kill_timeout
的最大抖動,如果啟用kill_timeout
。啟用此功能有助於降低由於外部觸發而導致跨 Proxy 的同步看門狗終止事件的風險。設定為 0 以停用。如果未指定,則預設值為 0(停用)。
- multikill_timeout
(持續時間)如果
max(2, ceil(registered_threads * Fraction(*multikill_threshold*)))
個執行緒在此持續時間內無回應,則終止整個 Envoy 程序。設定為 0 以停用此行為。如果未指定,則預設值為 0(停用)。
- multikill_threshold
(type.v3.Percent)根據
multikill_timeout
所需的無回應執行緒百分比設定multikill_timeout
的閾值。如果未指定,則預設值為 0。
config.bootstrap.v3.Watchdog.WatchdogAction
[config.bootstrap.v3.Watchdog.WatchdogAction proto]
{
"config": {...},
"event": ...
}
- config
(config.core.v3.TypedExtensionConfig)動作的擴充特定設定。
列舉 config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent
[config.bootstrap.v3.Watchdog.WatchdogAction.WatchdogEvent proto]
事件會依此順序觸發:KILL、MULTIKILL、MEGAMISS、MISS。在事件類型內,動作會依設定的順序執行。對於 KILL/MULTIKILL,在註冊的動作之後會執行預設的 PANIC,如果程序尚未終止,則會終止程序。指定多個偵錯動作,以及可能的替代 FATAL 動作會很有用。
- UNKNOWN
(預設)
- KILL
- MULTIKILL
- MEGAMISS
- MISS
config.bootstrap.v3.FatalAction
[config.bootstrap.v3.FatalAction proto]
在當機時執行的嚴重動作。動作可以是安全的(表示它們是異步訊號安全的)或不安全的。我們會在執行不安全的動作之前執行所有安全的動作。如果使用可能會卡住或死鎖的不安全動作,則必須使用頻外系統來終止程序。
擴充的介面為 Envoy::Server::Configuration::FatalAction
。FatalAction
擴充位於 envoy.extensions.fatal_actions
API 命名空間中。
{
"config": {...}
}
- config
(config.core.v3.TypedExtensionConfig)動作的擴充特定設定。它預期符合
Envoy::Server::Configuration::FatalAction
介面。
config.bootstrap.v3.Runtime
[config.bootstrap.v3.Runtime proto]
執行期(Runtime)組態概述 (已棄用)。
{
"symlink_root": ...,
"subdirectory": ...,
"override_subdirectory": ...,
"base": {...}
}
- symlink_root
(字串) 此實作假設檔案系統樹狀結構是透過符號連結存取的。當新的樹狀結構需要切換時,會使用原子連結交換。此參數指定符號連結的路徑。Envoy 會監看此位置的變更,並在發生變更時重新載入檔案系統樹狀結構。如果未設定此參數,則不會有基於磁碟的執行期。
- subdirectory
(字串) 指定要在根目錄中載入的子目錄。如果多個系統共用相同的傳遞機制,這會很有用。Envoy 組態元素可以包含在專用的子目錄中。
- override_subdirectory
(字串) 指定要在根目錄中載入的可選子目錄。如果指定且目錄存在,則此目錄中的組態值將覆寫在主要子目錄中找到的組態值。當 Envoy 部署在許多不同類型的伺服器上時,這會很有用。有時,為每個服務叢集設置執行期組態目錄會很有幫助。請參閱下文,了解如何精確使用覆寫目錄。
- base
(結構體) 靜態基本執行期。這將被其他執行期層級覆寫,例如磁碟或管理。這遵循執行期 protobuf JSON 表示編碼。
config.bootstrap.v3.RuntimeLayer
[config.bootstrap.v3.RuntimeLayer proto]
{
"name": ...,
"static_layer": {...},
"disk_layer": {...},
"admin_layer": {...},
"rtds_layer": {...}
}
- name
(字串,必要) 執行期層的描述性名稱。這僅用於執行期
GET /runtime
輸出。
- static_layer
(結構體) 靜態執行期層。這遵循執行期 protobuf JSON 表示編碼。與靜態 xDS 資源不同,此靜態層可以被執行期虛擬檔案系統中的後續層覆寫。
必須設定 static_layer、disk_layer、admin_layer 或 rtds_layer 中的其中一個。
- disk_layer
(config.bootstrap.v3.RuntimeLayer.DiskLayer)
必須設定 static_layer、disk_layer、admin_layer 或 rtds_layer 中的其中一個。
- admin_layer
(config.bootstrap.v3.RuntimeLayer.AdminLayer)
必須設定 static_layer、disk_layer、admin_layer 或 rtds_layer 中的其中一個。
- rtds_layer
(config.bootstrap.v3.RuntimeLayer.RtdsLayer)
必須設定 static_layer、disk_layer、admin_layer 或 rtds_layer 中的其中一個。
config.bootstrap.v3.RuntimeLayer.DiskLayer
[config.bootstrap.v3.RuntimeLayer.DiskLayer proto]
磁碟執行期層。
{
"symlink_root": ...,
"subdirectory": ...,
"append_service_cluster": ...
}
- symlink_root
(字串) 此實作假設檔案系統樹狀結構是透過符號連結存取的。當新的樹狀結構需要切換時,會使用原子連結交換。此參數指定符號連結的路徑。Envoy 會監看此位置的變更,並在發生變更時重新載入檔案系統樹狀結構。有關如何處理重新載入的詳細資訊,請參閱有關執行期原子性的文件。
- subdirectory
(字串) 指定要在根目錄中載入的子目錄。如果多個系統共用相同的傳遞機制,這會很有用。Envoy 組態元素可以包含在專用的子目錄中。
config.bootstrap.v3.RuntimeLayer.AdminLayer
[config.bootstrap.v3.RuntimeLayer.AdminLayer proto]
管理主控台執行期層。
config.bootstrap.v3.RuntimeLayer.RtdsLayer
[config.bootstrap.v3.RuntimeLayer.RtdsLayer proto]
{
"name": ...,
"rtds_config": {...}
}
- name
(字串) 要在
rtds_config
中訂閱以取得 RTDS 層的資源。
- rtds_config
(config.core.v3.ConfigSource) RTDS 組態來源。
config.bootstrap.v3.LayeredRuntime
[config.bootstrap.v3.LayeredRuntime proto]
執行期組態概述。
{
"layers": []
}
- layers
(重複 config.bootstrap.v3.RuntimeLayer) 執行期的層級。順序是列表中較後的層級會覆蓋較早的項目。
config.bootstrap.v3.CustomInlineHeader
[config.bootstrap.v3.CustomInlineHeader proto]
用於指定需要註冊為內嵌標頭的標頭。
如果請求或回應包含多個具有相同名稱的標頭,並且該標頭名稱註冊為內嵌標頭。然後,多個標頭將被合併為一個,並且多個標頭值將由適當的分隔符連接起來。分隔符通常是逗號。
例如,如果 ‘foo’ 註冊為內嵌標頭,並且標頭包含以下兩個標頭
foo: bar
foo: eep
那麼它們最終將被合併為
foo: bar, eep
內嵌標頭提供 O(1) 的搜尋效能,但每個內嵌標頭都會在對應類型的 HeaderMap 或 TrailerMap 的所有實例上增加額外的記憶體開銷。
{
"inline_header_name": ...,
"inline_header_type": ...
}
- inline_header_name
(字串,必要) 預期設定為內嵌標頭的標頭名稱。
- inline_header_type
(config.bootstrap.v3.CustomInlineHeader.InlineHeaderType) 預期設定為內嵌標頭的標頭類型。
列舉 config.bootstrap.v3.CustomInlineHeader.InlineHeaderType
[config.bootstrap.v3.CustomInlineHeader.InlineHeaderType proto]
- REQUEST_HEADER
(預設)
- REQUEST_TRAILER
- RESPONSE_HEADER
- RESPONSE_TRAILER
config.bootstrap.v3.MemoryAllocatorManager
[config.bootstrap.v3.MemoryAllocatorManager proto]
{
"bytes_to_release": ...,
"memory_release_interval": {...}
}
- bytes_to_release
(uint64) 設定 tcmalloc 執行後台釋放記憶體,釋放量為每
memory_release_interval
間隔的位元組數。如果等於0
,則不會發生記憶體釋放。預設為0
。
- memory_release_interval
(持續時間) 記憶體釋放的間隔(毫秒)。如果指定,則在每個間隔期間,Envoy 將嘗試將
bytes_to_release
的可用記憶體釋放回作業系統以供重複使用。預設為 1000 毫秒。