新聞中心
隨著網絡環(huán)境的日漸復雜,傳統(tǒng) HTTP 明文傳輸協議帶來的傳輸安全風險也日漸升高,因此 HTTPS 的密文傳輸協議得到了業(yè)界的普遍認可與廣泛應用;任何事情都有其兩面性,HTTPS 帶來更高傳輸安全性的同時,由于需要做認證及數據加解密,相比 HTTP 使用 HTTPS 后使得網站訪問速度變“慢”,且導致服務器 CPU 消耗變高、從而機器成本變得更“貴”。

創(chuàng)新互聯建站服務項目包括淶水網站建設、淶水網站制作、淶水網頁制作以及淶水網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,淶水網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到淶水省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
業(yè)界在優(yōu)化 HTTPS 的性能上也做了諸多探索,傳統(tǒng)的軟件優(yōu)化方案有 Session 復用、OCSP Stapling、False Start、dynamic record size、TLS1.3、HSTS 等, 但軟件層面如何優(yōu)化也無法滿足流量日益增長的速度,加上 CPU 摩爾定律已入暮年,使得專用硬件卸載 CPU 密集型運算成為業(yè)界一個通用解決方案。
一、網關為什么是 HTTPS 優(yōu)化(TLS 卸載優(yōu)化)的最佳路徑?
網關作為請求流量進入業(yè)務應用的橋頭堡,對于 HTTPS 優(yōu)化這種跨業(yè)務的通用訴求是非常適合的落腳點,具體優(yōu)勢如下:
運維降本:網關統(tǒng)一處理 HTTPS 顯然相比各業(yè)務分散處理運維成本更低。
機器降本:通常網關采用集群化的規(guī)模部署,統(tǒng)一 HTTPS 優(yōu)化能夠帶來顯著的機器成本優(yōu)化。
業(yè)務提效:網關處理 HTTPS 后,業(yè)務只需關注自身邏輯即可,提升業(yè)務開發(fā)效率。
二、阿里在硬件加速上的探索
阿里統(tǒng)一接入網關 Tengine 承擔著集團所有的入口流量,隨著 HTTPS 化的全面推進,對于網關的性能挑戰(zhàn)也非常大。業(yè)務驅動了技術創(chuàng)新,2017 年接入網關在硬件加速領域也邁出了第一步,開始嘗試 QAT 卡硬件加速方案。
1.基于 QAT 卡的 TLS 硬件加速方案
整體方案由三部分組成:Tengine的ssl_async 指令、OpenSSL + QAT Engine 及 QAT Driver。其中 Tengine 通過適配 OpenSSL-1.1.0 的異步接口,將私鑰操作卸載至硬件的 QAT engine 中,引擎通過 QAT 驅動調用硬件完成非對稱算法取回結果。方案圖示如下:
方案優(yōu)點
- HTTPS 卸載由獨立硬件 QAT 完成,不額外增加 CPU 消耗,使用不同的加密套件測試,整體上性能非常好。
方案缺點
- 運維成本非常高,獨立的 QAT 卡需要提前獨立采購,尤其對于電商大促的突發(fā)流量場景無法做到彈性。
- 在目前容器化部署的大背景下,QAT 的使用有很多穩(wěn)定性問題。
2.基于 CPU Multi-Buffer 特性的 TLS 卸載加速方案
在經歷 Tengine QAT 的探索實踐后,阿里云推出了基于開源 Envoy 構建的 MSE 云原生網關產品,讀到這里有的同學可能會疑惑為什么選擇 Envoy 而不是內部的 Tengine。
阿里云 2021 年發(fā)布了 搭載最新至強處理器 Ice Lake 的 ECS 產品,利用 CPU 的硬件特性使得算力大幅提升 50% 以上。其中提供的 Crypto Acceleration 特性,包括 Vector AES ,通過 multi-buffer lib 配合,能夠加速 AES、 RSA、EC 等密碼學計算。利用該特性使得 HTTPS 硬件加速得以擺脫專用硬件加速卡的限制,使用 CPU 內置指令結合 SIMD 機制也可以大幅提升 HTTPS 的性能?;诖嗽圃W關率先完成了對其適配,將硬件加速的性能優(yōu)勢帶給用戶,在不增加用戶資源成本的同時大幅度提升 HTTPS 的性能。
從上圖壓測數據可以看出使用 TLS 硬件加速后,相比普通 HTTPS 請求 TLS 握手時延降低一倍,極限 QPS 提升 80% 以上。
方案壓測
(1)壓測基礎環(huán)境
- 云原生網關規(guī)格: 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 規(guī)格是因為更容易觀察單核極限性能。
(3)測試數據
|
TLS版本 |
是否開啟硬件加速 |
并發(fā)度 |
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 并發(fā)沒開啟硬件加速時的數據
500 并發(fā),開啟硬件加速時的數據
方案優(yōu)點
- 無需獨立硬件支持,運維成本低且易于彈性擴縮容。
- 適用場景更廣泛。
三、寫在最后
目前硬件加速功能已經正式上線,相比自建,您無需關心底層硬件加速機器的運維就能在同規(guī)格下獲取一倍的 HTTPS 性能提升,具體可參考新建云原生網關進行硬件加速機器的購買。
分享題目:性能提升一倍!后浪云網關支持TLS硬件加速
轉載注明:http://fisionsoft.com.cn/article/djegsgs.html


咨詢
建站咨詢
