剛換了新的公司,好像天天都聽到「回源」的字眼,不懂怎麼回事,上網搜了一把,正巧看到了story的天空寫的這篇博客,轉載下來,也給本身長點見識。ios
下面是博客原文:nginx
咱們有一臺服務器提供的服務主要是以動態頁面爲主,靜態頁面都是固定的內容平時更新的不多,最近這臺服務器的應用升級到了新版本訪問量增大了很多,隨之的 問題就來了,最近天天一到9點負載就超過警惕值,而後負載持續升高,load的值最高到100左右,這種狀況一直會持續到12點,一過12點負載立刻下降 到5如下。
經過分析網絡鏈接發現並無***的跡象,基本都是正常的訪問。後來開始考慮是不是硬件性能形成的,查看 cpu 內存和磁盤io的問題,觀察了一段時間後發現這幾個設備的壓力確實增大了,但卻沒到不能承受的地步。後來我開始對nginx的訪問日誌開始分析,集中分析 9~12點的訪問狀況。
通過分析發現有10多個ip的請求量在9點忽然增長,到11點半之後請求數就將的很低了。並且他們的請求基本都是靜態請求。我開始的時候懷疑是***可是又 一想,會不會這幾個ip是咱們的CDN提供商的地址,因而立刻聯繫CDN的技術支持,一查果真這幾個ip都是他們分佈在全國各地的服務器的ip,仔細詢問 後才知道。
他們如今服務器的回源機制是分散回源,也就是說全國各地的服務器每隔一段時間後會本身去咱們的服務器上檢查更新。可能最近有過改動因此這些服務器都在9點 到10點之間一塊兒去那臺服務器上檢查更新。結果就是那些ip訪問量激增... 我又詢問了下他們回源的間隔時間,工程師跟我說如今是定在3小時。我當時一愣 每隔三小時全國幾十臺服務器都去咱們那臺服務器上查一遍,負載能不高麼...
當即讓他們修改回源策略,由於咱們的靜態內容好久纔會更新一次,並且每次更新都是手動更新,平時基本用不着更新,因此也用不着cdn的服務器老是去檢查。
開始對回源的時間和回源方式與CDN的工程師討論,最後的解決方法是,在全部CDN的服務器裏找出三臺來作回源點,其餘的機器都去這三臺服務器上去檢查更新,
而這三臺服務器每隔三天會到咱們的服務器上檢查更新。肯定了以後,就讓他們的工程師去改策略了。不一下子他們說改好了,但要等次日才能生效,讓我等到時候看效果。
到了次日9點,果真Nagios 沒有報警,系統load值正常直到天天中午 訪問最高的時候纔有一點高,看來新改的策略生效了。從日誌上看 CDN的那幾個地址的訪問量也不那麼高了。
CDN原本是給咱們的網站加速的,可是有時會由於不合適的回源策略給服務器帶來負擔,只有選擇正確的策略才能給本身的網站帶來更高的訪問效率!
但願這篇文章對你們有所幫助 ^_^服務器