1.開(kāi)啟CDN加速
對(duì)于第一種情況,最好的方法是打開(kāi)CDN加速。將源站點(diǎn)的內(nèi)容分發(fā)到各地到用戶最近的節(jié)點(diǎn);縮短用戶到節(jié)點(diǎn)的物理距離,使用戶可以在附近獲得所需的內(nèi)容,并減少延遲。簡(jiǎn)而言之,當(dāng)網(wǎng)站啟用CDN加速時(shí),它可以使用戶感到訪問(wèn)網(wǎng)站或下載內(nèi)容的速度比沒(méi)有加速的速度要快得多。
CDN可以自動(dòng)識(shí)別惡意攻擊流量,智能清除這些虛假流量,并將正常的訪問(wèn)者流量返回到源服務(wù)器IP,以確保源服務(wù)器的正常穩(wěn)定運(yùn)行.
2.確認(rèn)服務(wù)器硬件是否足以支持當(dāng)前流量。
對(duì)于第二種情況,它更簡(jiǎn)單,只需擴(kuò)展服務(wù)器即可。普通的P4服務(wù)器通常每天最多可以支持100,000個(gè)獨(dú)立IP。如果訪問(wèn)量大于此數(shù)量,則必須首先配置性能更高的專用服務(wù)器來(lái)解決該問(wèn)題。否則,沒(méi)有優(yōu)化可以完全解決性能問(wèn)題。
3.優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)。
服務(wù)器上過(guò)多負(fù)載的重要原因是CPU負(fù)載太大,減少服務(wù)器上的CPU負(fù)載可以有效地克服瓶頸。使用靜態(tài)頁(yè)面可以最大程度地減少CPU負(fù)載。當(dāng)然最好在前臺(tái)實(shí)現(xiàn)完全靜態(tài),可以完全避免訪問(wèn)數(shù)據(jù)庫(kù),但是對(duì)于頻繁更新的網(wǎng)站,靜態(tài)通常無(wú)法滿足某些功能。
緩存技術(shù)是另一種解決方案,它將動(dòng)態(tài)數(shù)據(jù)存儲(chǔ)在緩存文件中,動(dòng)態(tài)網(wǎng)頁(yè)直接調(diào)用這些文件,而無(wú)需訪問(wèn)數(shù)據(jù)庫(kù)。 WordPress和Z-Blog廣泛使用此緩存技術(shù)。
如果您確實(shí)無(wú)法避免訪問(wèn)數(shù)據(jù)庫(kù),則可以嘗試優(yōu)化數(shù)據(jù)庫(kù)的查詢SQL。避免使用諸如select * from之類(lèi)的語(yǔ)句,每個(gè)查詢僅返回您需要的結(jié)果,并避免在短時(shí)間內(nèi)進(jìn)行大量SQL查詢。
4.禁止外部盜竊鏈。
來(lái)自外部網(wǎng)站的圖像或文件鏈鏈接通常會(huì)帶來(lái)很大的負(fù)載壓力,因此應(yīng)嚴(yán)格限制外部圖像或文件鏈鏈接。幸運(yùn)的是,可以通過(guò)引用簡(jiǎn)單地控制鏈鏈接,而Apache可以自行配置它。為了禁止盜竊,IIS還具有一些可以實(shí)現(xiàn)相同功能的第三方ISAPI。當(dāng)然,偽造的引用也可以通過(guò)代碼被盜。但是,沒(méi)有很多故意偽造的推薦鏈接被盜鏈。您可以先忽略它們,也可以使用非技術(shù)手段解決它們,例如在圖片上添加水印。
5.控制大文件的下載。
下載大文件會(huì)消耗大量流量,對(duì)于非SCSI硬盤(pán),下載大量文件會(huì)消耗CPU,從而降低了網(wǎng)站的響應(yīng)速度。因此,請(qǐng)盡量不要下載大于2M的大文件。如果需要提供它們,建議將大文件放在另一臺(tái)服務(wù)器上。當(dāng)前有許多免費(fèi)的Web 2.0網(wǎng)站提供圖片共享和文件共享功能,因此您可以嘗試將圖片和文件上傳到這些共享站點(diǎn)。
6.使用不同的服務(wù)器轉(zhuǎn)移主要流量
將文件放在不同的主機(jī)上,并提供不同的圖像供用戶下載。