Qatzip 压缩器
Qatzip 压缩器通过与 英特尔® 快速辅助技术 (英特尔® QAT) 集成,使用 qatlib 和 QATzip 库为 Envoy 提供更快的硬件加速 gzip 压缩。
示例配置
Qatzip 压缩器配置的一个示例是
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: backend
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: service
http_filters:
- name: envoy.filters.http.compressor
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
response_direction_config:
common_config:
min_content_length: 100
content_type:
- application/octet-stream
compressor_library:
name: qatzip
typed_config:
"@type": type.googleapis.com/envoy.extensions.compression.qatzip.compressor.v3alpha.Qatzip
compression_level: 3
- name: envoy.filters.http.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
clusters:
- name: service
connect_timeout: 0.25s
type: STRICT_DNS
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: service
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: 127.0.0.1
port_value: 1234
admin:
address:
socket_address:
address: 0.0.0.0
port_value: 9901
工作原理
如果启用,Qatzip 压缩器将
附加 Qat 硬件
为每个工作线程创建 Threadlocal Qat 会话上下文
当一个新的 http 请求到来时,一个工作线程将使用它的 Qat 会话上下文处理它,并将需要压缩的数据发送到 Qat 硬件。
安装和使用 QATzip
有关如何构建/安装和使用 QATzip 的信息,请参阅 QATzip。