nginx使用Kernel TLS(KTLS)提升性能教程

最近,nginx更新了KTLS的教程,加密解密性能大幅提升
KTLS即内核TLS.
nginx实现了在内核中加密解密TLS的过程,完全不用nginx本身传输数据到用户态.

nginx实现KTLS能提升8%到29%,不过配置起来麻烦,需要编译
本文仅记录自己的相关配置

nginx实现KTLS相关依赖


  • linux内核模块tls(必须)
  • openssl3.0 (必须)
  • nginx1.21.4(必须)

linux内核建议5.10

自己编译内核,加入tls.ko
cat /lib/modules/$(uname -r)/modules.builtin|grep tls
显示
kernel/net/tls/tls.ko

openssl3.0.1推荐


openssl3.0.1目前是最新版,加上就行

nginx编译选项


使用最新的nginx1.21.5
添加--with-openssl-opt=enable-ktls
./configure --with-openssl=../openssl-3.0.1 --with-openssl-opt=enable-ktls

nginx.conf配置文件修改

在http段加入 ssl_conf_command Options KTLS;
重启nginx,完成

参考文章:
https://www.nginx.com/blog/improving-nginx-performance-with-kernel-tls/

发表评论