你现在看到的这个页面,传输时已经被zstd压缩过了。

zstd是Facebook开源的压缩算法,压缩比和速度都优于传统的gzip。但Nginx官方并不原生支持,需要自己编译动态模块。

打开网易新闻 查看精彩图片

整个过程不算复杂:下载zstd-nginx模块源码,用Nginx的--add-dynamic-module参数编译成.so文件,然后在nginx.conf里加载模块、配置压缩级别。具体命令和踩坑记录我放在了博客。

效果立竿见影。文本类资源体积比gzip再小15%-20%,CPU占用却没明显增加。对于静态内容多的站点,带宽成本能省出一截。

如果你也在用Nginx,值得折腾一下。动态模块的好处是无需替换主程序,风险可控,回滚只需注释一行配置。