8個(gè)技巧,提高你網(wǎng)站的響應(yīng)速度——南寧網(wǎng)站建設(shè)飛數(shù)互聯(lián)公司
日期:2020-04-22 12:06:37 / 人氣:266
南寧網(wǎng)站建設(shè)飛數(shù)互聯(lián)公司
有些網(wǎng)站訪問(wèn)速度非常慢,以至很多用戶不等網(wǎng)站頁(yè)面的打開(kāi),就關(guān)掉瀏覽器,那么如何來(lái)解決這個(gè)問(wèn)題呢?下面從低成本、高性能和高擴(kuò)張性的角度來(lái)說(shuō)一些經(jīng)驗(yàn)。
1、網(wǎng)站全部或大量HTML靜態(tài)化
其實(shí)大家都知道,效率最高、消耗最小的就是純靜態(tài)化的html頁(yè)面,所以盡可能網(wǎng)站上的頁(yè)面采用靜態(tài)頁(yè)面來(lái)實(shí)現(xiàn),這個(gè)最簡(jiǎn)單的方法其實(shí)也是最有效的方法。對(duì)于交互性要求很高的社區(qū)類型網(wǎng)站來(lái)說(shuō),盡可能的靜態(tài)化也是提高性能的必要手段,將社區(qū)內(nèi)的帖子、文章進(jìn)行實(shí)時(shí)的靜態(tài)化,有更新的時(shí)候再重新靜態(tài)化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的策略,網(wǎng)易社區(qū)等也是如此。
同時(shí),html靜態(tài)化也是某些緩存策略使用的手段,對(duì)于系統(tǒng)中頻繁使用數(shù)據(jù)庫(kù)查詢但是內(nèi)容更新很小的應(yīng)用,可以考慮使用html靜態(tài)化來(lái)實(shí)現(xiàn),比如論壇中論壇的公用設(shè)置信息,這些信息目前的主流論壇都可以進(jìn)行后臺(tái)管理并且存儲(chǔ)再數(shù)據(jù)庫(kù)中,這些信息其實(shí)大量被前臺(tái)程序調(diào)用,但是更新頻率很小,可以考慮將這部分內(nèi)容進(jìn)行后臺(tái)更新的時(shí)候進(jìn)行靜態(tài)化,這樣避免了大量的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求。
2、圖片服務(wù)器分離
對(duì)于Web服務(wù)器來(lái)說(shuō),不管是Apache、IIS還是其他容器,圖片是最消耗資源的,于是有必要將圖片與頁(yè)面進(jìn)行分離,這是基本上大型網(wǎng)站都會(huì)采用的策略,他們都有獨(dú)立的圖片服務(wù)器,甚至很多臺(tái)圖片服務(wù)器。這樣的架構(gòu)可以降低提供頁(yè)面訪問(wèn)請(qǐng)求的服務(wù)器系統(tǒng)壓力,并且可以保證系統(tǒng)不會(huì)因?yàn)閳D片問(wèn)題而崩潰,在應(yīng)用服務(wù)器和圖片服務(wù)器上,可以進(jìn)行不同的配置優(yōu)化,比如 apache在配置ContentType的時(shí)候可以盡量少支持,盡可能少的LoadModule,保證更高的系統(tǒng)消耗和執(zhí)行效率。
3、采用DIV+CSS的頁(yè)面技術(shù)
可以訪問(wèn)的效率得到提高。
4、頁(yè)面長(zhǎng)度和大小
一般一個(gè)頁(yè)面的長(zhǎng)度盡量控制在2-3的長(zhǎng)度,文件的大小盡量保持在150K以內(nèi)。有時(shí)候太長(zhǎng)的頁(yè)面會(huì)使得用戶失去耐心。
5、緩存
緩存一詞搞技術(shù)的都接觸過(guò),很多地方用到緩存。網(wǎng)站架構(gòu)和網(wǎng)站開(kāi)發(fā)中的緩存也是非常重要。這里先講述最基本的兩種緩存。
架構(gòu)方面的緩存,對(duì)Apache比較熟悉的人都能知道Apache提供了自己的緩存模塊,也可以使用外加的Squid模塊進(jìn)行緩存,這兩種方式均可以有效的提高Apache的訪問(wèn)響應(yīng)能力。
網(wǎng)站程序開(kāi)發(fā)方面的緩存,Linux上提供的MemoryCache是常用的緩存接口,可以在web開(kāi)發(fā)中使用,比如PHP有Pear的Cache模塊對(duì)一些數(shù)據(jù)進(jìn)行緩存和通訊共享。
6、鏡像
鏡像是大型網(wǎng)站常采用的提高性能和數(shù)據(jù)安全性的方式,鏡像的技術(shù)可以解決不同網(wǎng)絡(luò)接入商和地域帶來(lái)的用戶訪問(wèn)速度差異,比如ChinaNet和 EduNet之間的差異就促使了很多網(wǎng)站在教育網(wǎng)內(nèi)搭建鏡像站點(diǎn),數(shù)據(jù)進(jìn)行定時(shí)更新或者實(shí)時(shí)更新。在鏡像的細(xì)節(jié)技術(shù)方面,這里不闡述太深,有很多專業(yè)的現(xiàn)成的解決架構(gòu)和產(chǎn)品可選。也有廉價(jià)的通過(guò)軟件實(shí)現(xiàn)的思路,比如Linux上的rsync等工具。
7、盡量不使用Flash和大圖片
這樣好處是非常明顯的,一個(gè)能夠使得用戶專注在文字上,而圖片部分都和網(wǎng)站核心相關(guān),不會(huì)產(chǎn)生無(wú)關(guān)的東西。
8、不要將整個(gè)頁(yè)面內(nèi)容塞到一個(gè)Table中
這是網(wǎng)頁(yè)設(shè)計(jì)的問(wèn)題了,很多站長(zhǎng)為了追求頁(yè)面統(tǒng)一對(duì)齊,將整個(gè)頁(yè)面的內(nèi)容都塞進(jìn)了一個(gè)Table(表格)里,然后再由單元格td來(lái)劃分各個(gè)“塊”的布局,這種網(wǎng)站的顯示速度是絕對(duì)慢的。因?yàn)門(mén)able要等里面所有的內(nèi)容都加載完畢后才顯示出來(lái)的,如果某些內(nèi)容無(wú)法訪問(wèn),就會(huì)拖延整個(gè)頁(yè)面的訪問(wèn)速度。正確的做法是:將內(nèi)容分割到幾個(gè)具有相同格局的Table中去,不要全都塞到一個(gè)Table里。
總結(jié):在這里介紹得比較淺顯,具體實(shí)現(xiàn)過(guò)程中很多細(xì)節(jié)還需要大家在工作中慢慢熟悉和體會(huì)。
南寧網(wǎng)站建設(shè)飛數(shù)互聯(lián)公司