很多用戶會(huì)發(fā)現(xiàn)做網(wǎng)站發(fā)布到服務(wù)器上后訪問(wèn)速度很慢,這個(gè)對(duì)網(wǎng)站來(lái)說(shuō)是個(gè)致命傷,網(wǎng)站相應(yīng)速度慢,即使網(wǎng)站做的很漂亮,內(nèi)容很完整,客戶打開(kāi)蝸牛一樣的也會(huì)失去耐心,可能直接關(guān)閉網(wǎng)站離開(kāi),這樣就導(dǎo)致用戶流失,最后發(fā)現(xiàn)網(wǎng)站每天都沒(méi)有人訪問(wèn)了,那么,如何提高網(wǎng)站的響應(yīng)速度呢,我們這里只討論站內(nèi)的優(yōu)化,不考慮服務(wù)器的問(wèn)題和Cdn加速之類問(wèn)題。
1、頁(yè)面結(jié)構(gòu)的優(yōu)化
前端制作網(wǎng)站模板時(shí)候盡量避免冗余的html標(biāo)簽產(chǎn)生,盡量避免大量調(diào)用js文件,css文件也是盡量保持簡(jiǎn)潔,不用的css最好就刪除掉。
2、生成html頁(yè)面
很多老的建站系統(tǒng)都會(huì)采用生成靜態(tài)方式來(lái)提高網(wǎng)站速度,易企優(yōu)系統(tǒng)也是通過(guò)這個(gè)方式來(lái)提高響應(yīng)速度和負(fù)載能力,因?yàn)閯?dòng)態(tài)頁(yè)面每次打開(kāi)就會(huì)去讀取數(shù)據(jù)庫(kù),編譯代碼然后再輸出http響應(yīng)結(jié)果,生成html后就會(huì)減少這些環(huán)節(jié),所以速度很大的提升上去了。
但是生成html也存在一個(gè)很多弊端,網(wǎng)站每次增加,修改或調(diào)整其中一個(gè)欄目都需要重新去生成頁(yè)面,想想,如果一個(gè)網(wǎng)站有幾萬(wàn)條甚至幾十萬(wàn)條數(shù)據(jù),其中某個(gè)欄目發(fā)生改動(dòng)了都要重新生成頁(yè)面,這個(gè)是多恐怖的事情,曾經(jīng)一個(gè)站長(zhǎng)朋友說(shuō)他的文章站幾十萬(wàn)條數(shù)據(jù),把網(wǎng)站的所有頁(yè)面都生成靜態(tài)都要10幾個(gè)小時(shí),萬(wàn)一中途服務(wù)器或?yàn)g覽器有個(gè)什么死機(jī)或卡死什么的,又要重新生成一次,不敢想象...
3、網(wǎng)站圖片的優(yōu)化
很多網(wǎng)站上傳產(chǎn)品或新聞圖片時(shí)候直接手機(jī)拍下來(lái)的,一張圖片幾M甚至幾十M不經(jīng)過(guò)任何修改直接上傳,如果整個(gè)網(wǎng)站幾十張類似的圖片,那就是幾十M,即使用戶寬度是這樣用戶打開(kāi)網(wǎng)10M/秒,全部下載完畢圖片也要等好幾秒中,所以我們上傳圖片時(shí)候,網(wǎng)站上使用的圖片盡量控制在1M以內(nèi),盡最大可能在圖片軟件中減少像素后再上傳。
4、采用http緩存
易企優(yōu)系統(tǒng)2.0后,不再使用生成靜態(tài)這種落后又不好維護(hù)的技術(shù),而是采用http緩存+數(shù)據(jù)庫(kù)緩存的組合方式來(lái)提高網(wǎng)站速度,http緩存:頁(yè)面第一次請(qǐng)求后服務(wù)器把頁(yè)面進(jìn)行編譯,編譯后把http輸出結(jié)果保存在服務(wù)器緩存區(qū),第二次請(qǐng)求后直接從服務(wù)器緩存區(qū)取出來(lái),不在去讀取數(shù)據(jù)庫(kù),也不再去編譯文件速度大大提升,而且可以靈活控制緩存時(shí)間,如果想清理緩存,直接后臺(tái)點(diǎn)擊重啟進(jìn)程鏈接即可,不占用服務(wù)器空間,不占用用戶時(shí)間,一切都智能高效。
有人會(huì)問(wèn),那么也會(huì)占用服務(wù)器內(nèi)存,沒(méi)有錯(cuò),但是我想說(shuō)的是,現(xiàn)在內(nèi)存條1G才1百多元,你寧愿每天花幾個(gè)小時(shí)去維護(hù)靜態(tài)文件呢?還是愿意給服務(wù)器多花百十塊錢加個(gè)1G內(nèi)存來(lái)減少工作量呢?如果你選擇后者,你將做到事半功倍。