iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
Security

導入CDN防護大作戰系列 第 10

【Day10】持久性連接 Persistent Connections

  • 分享至 

  • xImage
  •  

接下來針對網路特性的議題,就是CDN Reverse Proxy的特性 "持久性連接 Persistent Connections"。

所有的網路連線請求前,都會先等TCP/IP三向交握建立連線完成後,完成TLS交握再進行HTTP的請求,並於完成後請關閉連線。

https://ithelp.ithome.com.tw/upload/images/20250923/20042779kOjLO3zwBt.png

因此有多少個來源就要透過同樣的流程建立再關閉連線,當連線數多的時候除了相同流程浪費時間外,系統資源就會逐漸消耗殆盡。

CDN Reverse Proxy架構的優勢

運作方式:

1.當使用者端首次連接到CDN時,會與CDN主機建立 TCP 連線。

2.此時,CDN主機會與源站服務主機建立連線,並啟用持續連線保持開啟較長的時間。

3.來自使用者端的後續 HTTP 請求可以透過相同的、已建立的連線重複傳送,而不是為每個要求開啟新的連線。

好處:

-改進的性能: 透過重複使用連線,可以減少載入網頁和其他內容的整體時間。

-減少延遲: 消除握手延遲意味著等待建立連線所花費的時間更少。

-優化資源利用率: 透過維護現有連接池而不是不斷建立和拆除它們,可以更有效地利用其資源。

-增強的使用者體驗: 為使用者提供更快的載入時間和更靈敏的線上體驗。

https://ithelp.ithome.com.tw/upload/images/20250923/20042779E7UGmYY77X.png

origin Persistent Connections (PConns) Time

前面提到CDN主機會與源站服務主機建立持續連線,以提供更好的效能和資源使用,CDN主機會在300秒後結束閒置連線,這是平台預設逾時的值。

因此,地端負責建立以及管理連線的負載均衡設備或WEB主機,同樣也必須能夠將逾時時間,設定一個稍大的值例如301秒,以確保持續連線的開啟。

https://ithelp.ithome.com.tw/upload/images/20250923/200427792GXCTQltkv.png

Test persistent connection (pconn) on an origin server

顧問提到,上線前務必檢查這個值的設定喔,否則2端時間不一致時,有可能偶爾服務發生5XX的錯誤,這不好除錯啦。

Jerry問到那要怎麼確認我家同仁設定正確了? 顧問提供了Akamai KB建議的測試方式 :

$ time openssl s_client -connect www-org.example.com:443
GET / HTTP/1.1
Host: www.example.com
Connection: keep-Alive

<Press enter button two times and wait for session to disconnect>

Connection closed by foreign host. 
real 5m1.032s
user 0m0.004s
sys 0m0.000s

上一篇
【Day9】真實來源IP改了? 那Port也能真實嗎?
系列文
導入CDN防護大作戰10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言