
开启Cloudflare端的Zstd
Cloudflare上的Zstd压缩完全免费,Cloudflare真是大善人啊!
1.选择自己的站点

2.在侧边栏中选择“规则”→概述

3.创建压缩规则

4.填入设置并保存

验证Zstd已经开启
PowerShell/CMD
iwr https://你的域名 -Me Head -H @{"Accept-Encoding"="zstd";"User-Agent"="Mozilla/5.0"} -UseBasicParsing | select -Expand Headers

Linux
curl -I -H "Accept-Encoding: zstd" https://你的域名

为什么应该开启Zstd?
Zstd (Zstandard) 是Facebook在2016年发布的网络传输压缩算法
在很长一段时期内,数据压缩一直存在一个“不可能三角”
压缩率,编码速度,解压延迟往往不可兼得
而Zstd在压缩比和速度的平衡点上,几乎是全方位碾压
「主流压缩算法性能对比」
| 算法 | 压缩比(级别1) | 压缩速度 | 解压速度 |
|---|---|---|---|
| Zstd -1 | 2.896 | 510 MB/s | 1550 MB/s |
| Zstd --fast=1 | 2.439 | 545 MB/s | 1850 MB/s |
| Gzip | 2.743 | 105 MB/s | 390 MB/s |
| Brotli | 2.883 | 290 MB/s | 425 MB/s |
| LZ4 | 2.101 | 675 MB/s | 3850 MB/s |
Zstd的跨代式突破
- 在基础模式下,压缩是Gzip的3.4倍
- 压缩速度最高可达Gzip的9倍,并且压缩比更优
- 并且解决了“高压缩比导致慢解压”的行业顽疾。解压速率约1.5GB/s
Zstd提供从-1至22级的全场景覆盖
1-3级适合极速传输,默认3级即可满足90%以上需求。
为什么不选Brotli?
Brotli在极限压缩率上略胜一筹(3-4个百分点),但实时网络传输中,Brotli的高延迟和CPU占用往往会抵消在小文件上的优势
不选Brotli的原因:
更均衡:避免了Brotli极端压缩带来的高CPU损耗
低延迟:极快的编解码速度比微小的体积优势对实时传输更重要
防瓶颈:防止客户端因解压负担过重导致的页面卡顿
Cloudflare官方评价
作为全球网络性能巨头,Cloudflare给予了Zstd高度评价
Zstd的表现令人印象深刻,近年来,因其出色的压缩比和速度而广受欢迎。
Cloudflare实验室数据显示:Zstd的压缩速度比Brotli快42%,而效能几乎持平
相比行业通用的Gzip,Zstd在维持同等处理速度的前提下,压缩效率提升了约11.3%
来源:[Blog.Cloudflare]
有适配上的困难吗?
适配已趋成熟
早在Chrome123版本(2024年3月)已全面支持,随后Edge及其他基于Chromium内核的浏览器也悉数跟进
Zstd仅作用于传输层压缩,不改变服务器底层数据,具备极高的稳定性
iOS端的“兼容墙”
唯一的适配缺口在于Apple生态.。截至目前,Apple的Safari浏览器仍未支持Zstd
Apple的LZFSE算法在2015年推出(其压缩率与Zlib 5级相当,但速度快2-3倍且更省电)
Apple方面认为现有的LZFSE算法已满足需求,这些优势得益于针对ARM64 指令集做了深度优化
Apple这种技术路径的执着,导致iPhone用户无法享受到Zstd这一红利。
但问题是时代变了
2016年面世的Zstd,在压缩比和速度的平衡点上,几乎是全方位碾压
Apple方面认为够用就不急着换,所以Apple强推LZFSE算法。导致后续适配 Zstd会非常困难
Safari用户不得不退回到古老的Gzip,或者强行忍受LZFSE的局限性
如果用户的浏览器不支持Zstd,会发生什么?
Cloudflare完善了自动降级机制
当客户端不支持Zstd时,Cloudflare会回退至Brotli或Gzip
虽然传输效率有所下降,但规避了访问失败的风险
Zstd的碾压
| 维度 | Gzip | Brotli | LZ4 | Zstd |
|---|---|---|---|---|
| 压缩比 | 中等 | 高 | 低 | 高 |
| 压缩速度 | 低 | 低 | 极高 | 极高 |
| 解压速度 | 中等 | 中等 | 极高 | 极高 |
| CPU效率 | 一般 | 一般 | 高 | 极高 |
| 可配置性 | 低 | 中 | 低 | 高 |
| 流式处理 | 支持 | 不支持 | 支持 | 优化支持 |
| 字典压缩 | 否 | 否 | 否 | 是 |
| 标准化 | 是 | 部分 | 否 | 是 |
- Zstd level 3:27秒,770MB,CPU15%
- Gzip+pigz:需更长时间,CPU类似但文件更大
- Zstd level 19:更高压缩比,但仍保持理想的解压速度
文章的查询工作由AI完成,句子大部分为AI,人类仅做语句优化