1.硬件升級
普通的P4服務(wù)器一般最多能支持每天10萬獨(dú)立IP,如果訪問量比這個(gè)還要大, 那么必須首先配置一臺更高性能的專用服務(wù)器才能解決問題 ,否則怎么優(yōu)化都不可能徹底解決性能問題。
2.負(fù)載均衡
它是根據(jù)某種負(fù)載策略把請求分發(fā)到集群中的每一臺服務(wù)器上,讓整個(gè)服務(wù)器群來處理網(wǎng)站的請求。
公司比較有錢的,可以購買專門負(fù)責(zé)負(fù)載均衡的硬件(如:F5),效果肯定會很好。對于大部分公司,會選擇廉價(jià)有效的方法擴(kuò)展整個(gè)系統(tǒng)的架構(gòu),來增加服務(wù)器的吞吐量和處理能力,以及承載能力。
3.服務(wù)器集群
服務(wù)器集群就是指將N臺服務(wù)器集中起來一起進(jìn)行同一種服務(wù),它們之間通過網(wǎng)絡(luò)實(shí)現(xiàn)通信。讓N臺服務(wù)器之間相互協(xié)作,共同承載一個(gè)網(wǎng)站的請求壓力。
在客戶端看來就像是只有一個(gè)服務(wù)器。集群可以利用多個(gè)計(jì)算機(jī)進(jìn)行并行計(jì)算從而獲得很高的計(jì)算速度,也可以用多個(gè)計(jì)算機(jī)做備份,從而使得任何一個(gè)機(jī)器壞了整個(gè)系統(tǒng)還是能正常運(yùn)行。
4.數(shù)據(jù)庫讀寫分離
基本的原理是讓主數(shù)據(jù)庫處理事務(wù)性增、改、刪操作(INSERT、UPDATE、DELETE),而從數(shù)據(jù)庫處理SELECT查詢操作。
5.數(shù)據(jù)庫分表技術(shù)(垂直分割,水平分割)
當(dāng)一張的數(shù)據(jù)達(dá)到幾百萬時(shí),你查詢一次所花的時(shí)間會變多,如果有聯(lián)合查詢的話,很有可能會死在那兒了。分表的目的就在于此,減小數(shù)據(jù)庫的負(fù)擔(dān),縮短查詢時(shí)間。
6.表建立相應(yīng)的索引
使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。
7.頁面靜態(tài)化
前臺實(shí)現(xiàn)完全的靜態(tài)化最好,可以完全不用訪問數(shù)據(jù)庫。
8.緩存技術(shù)(MemCache、Redis)
緩存技術(shù)就是另一個(gè)解決方案,就是將動態(tài)數(shù)據(jù)存儲到緩存文件中,動態(tài)網(wǎng)頁直接調(diào)用 這些文件,而不必再訪問數(shù)據(jù)庫
9.禁止外部盜鏈
外部網(wǎng)站的圖片或者文件盜鏈往往會帶來大量的負(fù)載壓力,因此應(yīng)該嚴(yán)格限制外部對于自身的圖片或者文件盜鏈
10.控制大文件的下載
大文件的下載會占用很大的流量,并且對于非SCSI硬盤來說,大量文件下載會消耗 CPU,使得網(wǎng)站響應(yīng)能力下降。因此,盡量不要提供超過2M的大文件下載,如果需要提供,建議將大文件放在另外一臺服務(wù)器上。