欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

只因把 https 改成 http,帶寬減少了 70%!

freeflydom
2024年8月31日 9:49 本文熱度 1115

起因

是一個高并發的采集服務上線后,100m的上行很快就被打滿了。
因為這是一條專線,并且只有這一個服務在使用,所以可以確定就是它導致的。

但是!這個請求只是一個 GET 請求,同時并沒有很大的請求體,這是為什么呢?

于是使用 charles 重新抓包后發現,一個 request 的請求居然要占用 1.68kb 的大小!

其中TLS Handshake 就占了 1.27kb。

這種情況下,需要的上行帶寬就是:1.68*20000/1024*8=262.5mbps

也就說明100mbps的上行為何被輕松打滿

TLS Handshake是什么來頭,竟然如此大?

首先要知道HTTPS全稱是:HTTP over TLS,每次建立新的TCP連接通常需要進行一次完整的TLS Handshake。在握手過程中,客戶端和服務器需要交換證書、公鑰、加密算法等信息,這些數據占用了較多的字節數。

TLS Handshake的內容主要包括:

  • 客戶端和服務器的隨機數

  • 支持的加密算法和TLS版本信息

  • 服務器的數字證書(包含公鑰)

  • 用于生成對稱密鑰的“Pre-Master Secret”

這個過程不僅耗時,還會消耗帶寬和CPU資源。

因此想到最粗暴的解決方案也比較簡單,就是直接使用 HTTP,省去TLS Handshake的過程,那么自然就不會有 TLS 的傳輸了。

那么是否真的有效呢?驗證一下就知道。

將請求協議改成 http 后:

可以看到請求頭確實不包含 TLS Handshake了!

整個請求只有 0.4kb,節省了 70% 的大小

目標達成

因此可以說明:在一些不是必須使用 https 的場景下,使用 http 會更加節省帶寬。

同時因為減少了加密的這個過程,可以觀察到的是,在相同的并發下,服務器的負載有明顯降低。

那么問題來了

如果接口必須使用 https那怎么辦呢?

當然還有另外一個解決方案,那就使用使用 Keep-Alive
headers 中添加 Connection: keep-alive 即可食用。

通過啟用 Keep-Alive,
可以在同一TCP連接上發送多個HTTPS請求,
而無需每次都進行完整的TLS Handshake,
但第一次握手時仍然需要傳輸證書和完成密鑰交換。

對于高并發的場景也非常適用。

要注意的是

keep-alive 是有超時時間的,超過時間連接會被關閉,再次請求需要重新建立鏈接。

Nginx 默認的 keep-alive 超時是 75 秒,
Apache HTTP 服務器 通常默認的 keep-alive 超時是 5 秒。

ps:
如果你的采集程序使用了大量的代理 ip那么 keep-alive 的效果并不明顯~~
最好的還是使用 http


作者:麥麥麥造
鏈接:https://juejin.cn/post/7409138396792881186
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。



該文章在 2024/9/2 10:38:36 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved