1. 上面已經說到的靜態化。
2. 通常很多網站模板中都有隨機調用文章或者類似的版塊,事實上對數據庫來說,隨機是一項比較重的負擔,在模板中應該盡量減少隨機文章的調用短網址生成。如果不可避免,可以考慮從數據庫上優化,對有索引的字段排序通常比沒有索引要快很多。
3. 將圖片、js、css等不經常修改的文件,放到專用的靜態服務器上,多個js、或者多個css能合并的盡量合并到一個文件,減少http連接次數。
4. 使用各類云加速產品短網址生成。對普通網站來說,免費的百度云加速或者360的云加速都還可以。
文章比較多,網站已經開啟靜態,但是每次全站更新都要花很長時間怎么辦?
我的做法是使用緩存機制,這里只提供一個思路,可能需要自己二次開發。
網站設定為偽靜態,每一個請求到達時,程序檢查是否存在對應的緩存html文件,如果該文件的生成時間是多少小時或幾天以前,我們判定它需要更新,這時候執行正常流程,程序查詢數據庫,生成html后,寫入到緩存文件,再輸出到客戶端。
當下一次訪問到達時,比如1分鐘以后又來一個訪問相同頁面,再次檢查緩存文件時間。從時間上可以判斷文件非常新,完全不用更新,則直接讀取文件內容輸出到客戶端短網址生成軟件。這樣每個頁面都可以實現自動生成,也只有第一個訪客會感受到速度慢,后面的訪客訪問時都相當于是靜態訪問,速度是非常快的。
如果是獨立服務器,還可以考慮自動檢測服務器負載,如果負載本來就高,那就算判斷出來需要更新,也暫時不更新,改為直接輸出短網址生成軟件。
圖片是引用遠程網址好還是放在自己服務器好?
這個也是各有優劣。引用遠程網址,可以節約自己的帶寬,但很可能會因為對方服務器緩慢、或刪除資源、或防盜鏈,圖片無法顯示短網址生成軟件。如果下載到自己服務器,當然一切都自己掌控,但是圖片會非常占用空間短網址生成軟件,總體上可能比生成靜態所占的空間更大,而且如果訪問量大,圖片是最吃帶寬的。
文章地址:http://www.meyanliao.com/article/other/ynxtjgsfwsd.html