通過配置回源HTTP請求超時時間,可以控制回源HTTP請求的超時時間。如果回源HTTP請求超時時間設置的較短,可能會因為網絡波動而頻繁出現回源失敗;如果回源HTTP請求超時時間設置的過長,也可能會在源站處理能力達到上限、響應失敗的情況下,失敗請求仍然會長時間占用連接數,導致正常請求無法訪問。建議您根據網絡鏈路情況以及源站數據處理能力,合理設置回源HTTP請求超時時間,保障請求能夠正常回源。
背景信息
回源HTTP請求時間指的是,CDN回源時,七層HTTP請求時間,不包括回源建連時間(即四層TCP連接時間)。注意事項
阿里云CDN當前可以設置的全鏈路(包括CDN節點內部鏈路以及CDN節點到源站之間的鏈路)超時時間最長不能超過36秒。
回源重試、回源超時、源站探測相關說明
- 回源重試順序:
- 對域名基礎信息的源站地址列表內的源站地址按優先級從高到低進行重試。
- 如果有優先級相同的源站地址,則按權重比例進行重試。
- 回源重試的顆粒度:
- 重試是IP地址級別的,如果源站是域名,將會對域名解析出的所有IP地址進行重試,只有域名下的所有IP都連接失敗后才會訪問其他可用源站。
- 重試時系統會自動過濾dead table中不可用的源站。
- 回源重試狀態碼:
- CDN節點在收到源站響應的5xx狀態碼的時候進行重試。
- 回源超時時間:在源站主動響應重試狀態碼時,CDN節點收到重試狀態碼之后就會重試。如果沒有收到源站主動響應的重試狀態碼,則會遵循回源超時時間處理邏輯,達到超時時間之后就會觸發CDN節點重試。
- 源站TCP建連超時:10秒(如果要調整,需要填寫信息申請配置)。
- 源站寫超時:默認為30秒(源站建連后寫入內容超時)。
- 源站讀超時:默認為30秒(源站建連后在一定時間內沒有把CDN節點請求的內容完整響應回去)。
- 源站寫超時時間和源站讀超時時間可以通過配置回源HTTP請求超時時間來調整。
- 源站探測邏輯:
- TCP連接異常:如果CDN節點與源站IP地址之間連續兩次出現TCP連接不可用(建連失敗或連接超時),CDN會從可用源站地址列表中剔除該源站IP地址,并將該IP地址加入dead table中,這樣后續的回源請求就不會去訪問這個源站IP地址;此后CDN節點會每隔5秒使用TCP建連去探測一次該源站IP地址,如果建連成功,則將該源站IP地址恢復到可用源站地址列表中。
- TCP連接正常:如果CDN節點與源站IP地址之間TCP連接正常,但收到源站響應的重試狀態碼(例如:5xx),此時雖然會觸發重試的邏輯,但該源站IP地址仍然還在可用源站地址列表中,下次訪問還會按權重去請求該源站(即TCP四層連接正常的情況下,七層HTTP請求異常不會主動屏蔽源站IP地址,如果需要在七層HTTP請求異常的情況下主動屏蔽源站IP地址,則需要填寫信息申請配置)。
操作步驟
- 登錄CDN控制臺。
- 在左側導航欄,單擊域名管理。
- 在域名管理頁面,單擊目標域名對應的管理。
- 在指定域名的左側導航欄,單擊回源配置。
- 在回源HTTP請求超時時間區域,單擊修改配置。
- 在回源HTTP請求超時時間對話框,設置超時時間。
- 單擊確定完成配置。