首先,確認(rèn)服務(wù)器硬件是否足以支持當(dāng)前流量。普通的P4服務(wù)器一般每天最多可以支持10萬個獨(dú)立IP。如果訪問卷大于此值,則必須首先配置性能更高的專用服務(wù)器來解決問題。否則,任何優(yōu)化都不能完全解決性能問題。
其次,優(yōu)化前臺數(shù)據(jù)庫訪問實(shí)現(xiàn)完全靜態(tài),你不能訪問數(shù)據(jù)庫,但是對于頻繁更新的網(wǎng)站,靜態(tài)往往不能滿足一些功能。
緩存技術(shù)是另一種解決方案,即在緩存文件中存儲動態(tài)數(shù)據(jù)。動態(tài)網(wǎng)頁直接調(diào)用這些文件,而不必訪問數(shù)據(jù)庫。WordPress和Z-blog經(jīng)常使用這種緩存技術(shù)。如果確實(shí)無法避免訪問數(shù)據(jù)庫,可以嘗試優(yōu)化數(shù)據(jù)庫的查詢SQL,每次查詢只返回需要的結(jié)果,避免在短時間內(nèi)出現(xiàn)大數(shù)據(jù)。努力做到“你搜索的就是你得到的”。遵循小表為主、附表為輔、先查詢條件索引、先小數(shù)據(jù)、后大數(shù)據(jù)的原則,提高查詢效率。
禁止外部竊取鏈接。盜取外部網(wǎng)站的圖片或文件鏈接往往會帶來很大的負(fù)載壓力。因此,我們應(yīng)該嚴(yán)格限制我們自己的圖像或文件的外部竊取鏈接。幸運(yùn)的是,目前我們可以通過參考簡單地控制竊取鏈接。Apache可以禁止通過配置竊取鏈接。IIS還有一些第三方ISAPI可以實(shí)現(xiàn)同樣的功能。當(dāng)然,參考文獻(xiàn)的偽造也可以通過編碼來實(shí)現(xiàn),但目前參考文獻(xiàn)的偽造并不多,可以忽略或通過在圖像上添加水印等非技術(shù)手段來解決。
控制大文件的下載。大文件的下載會占用大量的流量,而對于非SCSI硬盤,大量文件的下載會消耗CPU,使得網(wǎng)站的響應(yīng)能力下降。因此,盡量不要提供超過2m的大文件下載,如有必要,建議將大文件放在另一臺服務(wù)器上。
不同的主機(jī)用來分流主要流量,文件放在不同的主機(jī)上,提供不同的圖片供用戶下載。例如,如果您認(rèn)為RSS文件占用大量流量,可以使用FeedBurner或feed等服務(wù)將RSS輸出放到其他主機(jī)上,這樣其他人訪問的流量壓力大多集中在FeedBurner主機(jī)上,RSS不會占用太多資源。
使用流量分析統(tǒng)計軟件在網(wǎng)站上安裝流量分析統(tǒng)計軟件,可以立即知道哪些地方消耗了大量流量,哪些頁面需要優(yōu)化。因此,需要準(zhǔn)確的統(tǒng)計分析來解決流量問題。我推薦的流量分析軟件是googleanalytics。