作者|井轶

审核&校对|如葑

随着网络环境的日渐复杂,传统 HTTP 明文传输协议带来的传输安全风险也日渐升高,因此 HTTPS 的密文传输协议得到了业界的普遍认可与广泛应用;任何事情都有其两面性,HTTPS 带来更高传输安全性的同时,由于需要做认证及数据加解密,相比 HTTP 使用 HTTPS 后使得网站访问速度变“慢”,且导致服务器 CPU 消耗变高、从而机器成本变得更“贵”。

业界在优化 HTTPS 的性能上也做了诸多探索,传统的软件优化方案有 Session 复用、OCSP Stapling、False Start、dynamic record size、TLS1.3、HSTS 等, 但软件层面如何优化也无法满足流量日益增长的速度,加上 CPU 摩尔定律已入暮年,使得专用硬件卸载 CPU 密集型运算成为业界一个通用解决方案。

01

网关为什么是 HTTPS 优化(TLS 卸载优化)的最佳路径?

Aliware

网关作为请求流量进入业务应用的桥头堡,对于 HTTPS 优化这种跨业务的通用诉求是非常适合的落脚点,具体优势如下:

  • 运维降本:网关统一处理 HTTPS 显然相比各业务分散处理运维成本更低。

  • 机器降本:通常网关采用集群化的规模部署,统一 HTTPS 优化能够带来显著的机器成本优化。

  • 业务提效:网关处理 HTTPS 后,业务只需关注自身逻辑即可,提升业务开发效率。

02

阿里在硬件加速上的探索

Aliware

阿里统一接入网关 Tengine 承担着集团所有的入口流量,随着 HTTPS 化的全面推进,对于网关的性能挑战也非常大。业务驱动了技术创新,2017 年接入网关在硬件加速领域也迈出了第一步,开始尝试 QAT 卡硬件加速方案。

01

基于 QAT 卡的 TLS 硬件加速方案

整体方案由三部分组成:Tengine的ssl_async 指令、OpenSSL + QAT Engine 及 QAT Driver。其中 Tengine 通过适配 OpenSSL-1.1.0 的异步接口,将私钥操作卸载至硬件的 QAT engine 中,引擎通过 QAT 驱动调用硬件完成非对称算法取回结果。方案图示如下:

方案优点

  • HTTPS 卸载由独立硬件 QAT 完成,不额外增加 CPU 消耗,使用不同的加密套件测试,整体上性能非常好。详细性能数据可见文末文章链接《在阿里的统一接入层上进行了硬件加速的探索》。


方案缺点

  • 运维成本非常高,独立的 QAT 卡需要提前独立采购,尤其对于电商大促的突发流量场景无法做到弹性。

  • 在目前容器化部署的大背景下,QAT 的使用有很多稳定性问题。

02

基于 CPU Multi-Buffer 特性的 TLS 卸载加速方案

在经历 Tengine QAT 的探索实践后,阿里云推出了基于开源 Envoy 构建的 MSE 云原生网关产品,读到这里有的同学可能会疑惑为什么选择 Envoy 而不是内部的 Tengine,关于这个问题的答案在《阿里巴巴云原生网关三位一体的选择与实践》 中。

阿里云 2021 年发布了 搭载最新至强处理器 Ice Lake 的 ECS 产品,利用 CPU 的硬件特性使得算力大幅提升 50% 以上。其中提供的 Crypto Acceleration 特性,包括 Vector AES ,通过 multi-buffer lib 配合,能够加速 AES、 RSA、EC 等密码学计算。利用该特性使得 HTTPS 硬件加速得以摆脱专用硬件加速卡的限制,使用 CPU 内置指令结合 SIMD 机制也可以大幅提升 HTTPS 的性能。基于此云原生网关率先完成了对其适配,将硬件加速的性能优势带给用户,在不增加用户资源成本的同时大幅度提升 HTTPS 的性能。

从上图压测数据可以看出使用 TLS 硬件加速后,相比普通 HTTPS 请求 TLS 握手时延降低一倍,极限 QPS 提升 80% 以上。

方案压测

1、压测基础环境

  • 云原生网关规格: 1C2G * 1

  • 压测工具:Grafana k6

  • 请求大小: 1kb

  • 证书:RSA2048

  • 加密套件:

    ECDHE-RSA-CHACHA20-POLY1305(TLS1.2) TLS_AES_256_GCM_SHA384(TLS1.3)

2、压测结论

1C2G 情况下,开启硬件加速后极限 QPS 提高 80% 以上,TLS 握手时间降低一倍。

注:采用 1C2G 规格是因为更容易观察单核极限性能。

3、测试数据

TLS版本

是否开启硬件加速

并发度

QPS

TLS握手平均时间

TLS握手最长时间

1.2

未开启

200

1009

98.5ms

177.37ms

1.2

未开启

500

1004

313.84ms

457.56ms

1.3

未开启

200

995

77.81ms

177.24ms

1.3

开启

200

1886

48.71ms

104.04ms

1.2

开启

200

1876

59.98ms

113.55ms

1.2

开启

500

1873

145.81ms

262.91ms

500 并发没开启硬件加速时的数据

500 并发,开启硬件加速时的数据

方案优点

  • 无需独立硬件支持,运维成本低且易于弹性扩缩容。

  • 适用场景更广泛。

03

写在最后

Aliware

目前硬件加速功能已经正式上线,相比自建,您无需关心底层硬件加速机器的运维就能在同规格下获取一倍的 HTTPS 性能提升,具体可参考新建云原生网关进行硬件加速机器的购买。

相关链接

《在阿里的统一接入层上进行了硬件加速的探索》

https://developer.aliyun.com/article/597750

《阿里云上新了:搭载最新至强处理器 Ice Lake,算力提升 50% 以上》

https://developer.aliyun.com/article/783678

新建云原生网关

https://help.aliyun.com/document_detail/250956.html

MSE - 云原生网关,旨在为用户提供更可靠的、成本更低、效率更高的,符合 K8s Ingress 标准的企业级网关产品,更多发布详情移步直播间观看:

https://yqh.aliyun.com/live/detail/26484

MSE - 云原生网关提供后付费和包年包月两类付费模式,支持杭州、上海、北京、深圳 、张家口、香港、新加坡、美国(弗吉尼亚)、美国(硅谷)、德国(法兰克福)10 个 region,并会逐步开放其他 region。

新春福利,嗨购 2022,现在购买 MSE 云原生网关预付费全规格立享 7 折优惠。

点击“阅读原文”,即享优惠!

钉钉搜索群号 34754806 加入用户交流群。

性能提升一倍!云原生网关支持 TLS 硬件加速相关推荐

  1. 性能提升一倍,云原生网关支持 TLS 硬件加速

    简介:业界在优化 HTTPS 的性能上也做了诸多探索,传统的软件优化方案有 Session 复用.OCSP Stapling.False Start.dynamic record size.TLS1. ...

  2. 无缝融入 Kubernetes 生态 | 云原生网关支持 Ingress 资源

    Kubernetes Ingress 介绍 通常情况下,Kubernetes 集群内的网络环境与外部是隔离的,也就是说 Kubernetes 集群外部的客户端无法直接访问到集群内部的服务,这属于不同网 ...

  3. Spring Cloud Gateway 突发高危漏洞,下一代云原生网关恰逢其时?

    Spring Cloud Gateway 突发高危漏洞 Log4j2 的漏洞刚告一段落,Spring 官方在 2022 年 3 月 1 日发布了 Spring Cloud Gateway 的两个 CV ...

  4. 腾讯云数据库开源再突破:TDSQL PG版查询性能提升百倍

    日前,腾讯云数据库开源产品TDSQL PG版(开源代号TBase)宣布推出重磅升级--经过一年半的打磨,上万张表访问场景下,内存占用节省60%:查询性能提升百倍:SQL语句兼容性增强.同时,大力提升原 ...

  5. 华为云数据库内核专家为您揭秘MySQL Volcano模型迭代器性能提升千倍的秘密

    林舒,20年以上数据库内核研发经验.原IBMDB2数据库内核专家,专长数据库内核性能优化.SQL查询优化.MPP分布式数据仓库技术等.现就职于华为加拿大研究所,全程参与了RDS for MySQL以及 ...

  6. Nacos 2.0 性能提升十倍,贡献者 80% 以上来自阿里之外

    来源 | 阿里巴巴云原生公众号 3 月 20 日,Nacos 2.0 正式发布.Nacos 是阿里巴巴在 2018 年开源的一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台,也可以理解为 ...

  7. 重磅官宣:Nacos2.0性能提升10倍

    简介:​Nacos2.0 作为一个跨代版本,彻底解决了 Nacos1.X 的性能问题,将性能提升了 10 倍. 作者:席翁 继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并构 ...

  8. 重磅官宣:Nacos2.0发布,性能提升10倍

    简介: ​Nacos2.0 作为一个跨代版本,彻底解决了 Nacos1.X 的性能问题,将性能提升了 10 倍. 作者:席翁 继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并 ...

  9. 注册配置、微服务治理、云原生网关三箭齐发,阿里云 MSE 持续升级

    背景 注册中心是日常使用频率很高的微服务组件,通过较低的资源溢价帮助客户缩短微服务的构建周期.提升可用性: 微服务治理实现了 0 门槛就能接入全链路灰度.无损上下线.限流降级.环境隔离.数据库治理等能 ...

最新文章

  1. svn: E215004: Authentication failed
  2. Spark详解(二):Spark完全分布式环境搭建
  3. MapReduce自定义二次排序流程
  4. Java实现第二次登陆强制下线_Android登陆页面记住密码以及强制下线功能的实现...
  5. 面试题收集——Java基础部分(一)
  6. python新旧特性过渡_网站改版时的一种新旧版过渡方案
  7. OpenResty概述
  8. Android检测网络是否正常代码!
  9. 如何打造高可伸缩的移动电商架构?
  10. 大数据时代科研不能再两头花钱
  11. 模糊综合评价在matlab上的实现
  12. java adt官网下载_android adt下载
  13. rtl8111gr服务器系统,6款主板板载网卡对比
  14. 【seeprettyface.com】数据集:模特/明星人脸数据集
  15. 【ubuntu系统下装win10双系统】
  16. ElasticSearch.bat 文件闪退 解决
  17. python自动化测试脚本怎么写_自动化测试脚本一般用什么语言写
  18. UE4-SubSystem
  19. springmvc之静态资源访问不到
  20. CSS:外部样式表/内部样式表/内联样式

热门文章

  1. Java将json中key值下划线转为驼峰格式
  2. AVG触摸屏维修EZ-S6C-K美国EZAUTOMATION触控屏维修
  3. Midjourney科普介绍
  4. DZ修改标题字数限制:Discuz X2.0 如何修改帖子标题字数限制
  5. 小程序带你重温那些年我们玩过的小游戏
  6. Windows10环境下,查看已经分好区硬盘的 ‘分配单元大小’的新方法
  7. 推荐Windows电脑上最好用的3个mobi阅读器
  8. 中电金信助力乡村数字平台“中国社会帮扶网-我们村”小程序建设
  9. NVR网络硬盘录像机怎么添加IPC摄像头(nvr网络硬盘录像机设置)
  10. 别小看“Spring过滤器”,这些知识点你必须得掌握