1编兄、首先轩性,確認服務(wù)器硬件是否足夠支持當前的流量普通的P4服務(wù)器一般最多能支持每天10萬獨立IP,如果訪問量比這個還要大狠鸳,那么必須首先配置一臺更高性能的專用服務(wù)器才能解決問題 揣苏,否則怎么優(yōu)化都不可能徹底解決性能問題。
2件舵、數(shù)據(jù)庫的讀寫分離卸察,優(yōu)化表結(jié)構(gòu);
讀寫分離:頻繁請求數(shù)據(jù)庫時會造成堵塞铅祸,增加數(shù)據(jù)的讀取與寫入時間坑质。讀寫分離可使不同的數(shù)據(jù)庫分擔不同的任務(wù),減少每個數(shù)據(jù)庫的連接數(shù)临梗,加快數(shù)據(jù)讀取速度涡扼;
3、緩存技術(shù)的合理運用盟庞,減少數(shù)據(jù)庫的頻繁操作吃沪;
優(yōu)化數(shù)據(jù)庫訪問前臺實現(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都大量使用這種緩存技術(shù)垮耳,如果確實無法避免對數(shù)據(jù)庫的訪問颈渊,那么可以嘗試優(yōu)化數(shù)據(jù)庫的查詢SQL.避免使用?Select?*?from這樣的語句,每次查詢只返回自己需要的結(jié)果终佛,避免短時間內(nèi)的大,盡量做到"所查即所得"?,遵循以小表為主,附表為輔,查詢條件先索引,先小后大的原則,提高查詢效率.量SQL查詢俊嗽。
4、程序功能規(guī)則铃彰,減少外部盜鏈绍豁;
外部網(wǎng)站的圖片或者文件盜鏈往往會帶來大量的負載壓力,因此應(yīng)該嚴格限制外部對于自身的圖片或者文件盜鏈牙捉,好在目前可以簡單地通過refer來控制盜鏈竹揍,Apache自?己就可以通過配置來禁止盜鏈,IIS也有一些第三方的ISAPI可以實現(xiàn)同樣的功能邪铲。當然芬位,偽造refer也可以通過代碼來實現(xiàn)盜鏈,不過目前蓄意偽造refer盜鏈的還不多带到,?可以先不去考慮昧碉,或者使用非技術(shù)手段來解決,比如在圖片上增加水印揽惹。
5被饿、控制大文件的上傳與下載;
大文件的下載會占用很大的流量搪搏,并且對于非SCSI硬盤來說误续,大量文件下載會消耗?CPU炎辨,使得網(wǎng)站響應(yīng)能力下降干茉。因此绞铃,盡量不要提供超過2M的大文件下載,如果需要提供囱嫩,建議將大文件放在另外一臺服務(wù)器上嗅辣。
6、使用不同主機分流主要流量
將文件放在不同的主機上挠说,提供不同的鏡像供用戶下載。比如如果覺得RSS文件占用流量大愿题,那么使用FeedBurner或者FeedSky等服務(wù)將RSS輸出放在其他主機上损俭,這樣別人訪問的流量壓力就大多集中在FeedBurner的主機上蛙奖,RSS就不占用太多資源了
7、使用流量分析統(tǒng)計軟件
在網(wǎng)站上安裝一個流量分析統(tǒng)計軟件杆兵,可以即時知道哪些地方耗費了大量流量雁仲,哪些頁面需要再進行優(yōu)化,因此琐脏,解決流量問題還需要進行精確的統(tǒng)計分析才可以攒砖。