用Response.Buffer=True為程序加速
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
不知道大家對Buffer了解多少,很多人對這個概念都比較模糊,尤其是在asp中。很多初學(xué)者在編寫asp程序時很少用到這條語句,下面我就來說說Buffer的用途以及它在asp程序中的作用。
一、Buffer Buffer從英文直譯過來的意思是“緩沖區(qū)”,這里我們將它稱為緩沖,因?yàn)樗粌H是個名詞,還是個動詞。 緩沖區(qū)是存儲一系列的數(shù)據(jù)的地方,客戶端所獲得的數(shù)據(jù)可以從程序的執(zhí)行結(jié)果直接輸出,也可以從緩沖區(qū)輸出。但是這兩種方式在速度上是有差異的:在web中,當(dāng)一個asp程序被請求的次數(shù)不多時,二者基本上沒有什么差異,至少我們感覺不出來。但是當(dāng)有很多人請求一個asp程序時,速度可就不一樣了。如果沒有緩沖區(qū),那么每個請求asp程序的人的客戶端所得到的結(jié)果都是asp程序執(zhí)行一次所得到的結(jié)果,而如果預(yù)先將asp程序緩沖,那么每個客戶端所得到的結(jié)果就是緩沖區(qū)的結(jié)果,不是執(zhí)行一次程序的結(jié)果。比如有1000個用戶同時訪問一個asp頁面,如果這個asp程序沒有緩沖,那么程序?qū)⒈粓?zhí)行一千次,這樣服務(wù)器的負(fù)荷就回加大,從而導(dǎo)致客戶端打開頁面速度變慢;如果這個asp程序被緩沖了,那么結(jié)果就不一樣了,每個客戶端直接從緩沖區(qū)獲得數(shù)據(jù),服務(wù)器將不會因?yàn)樵L問增加而增加程序執(zhí)行次數(shù),因此客戶端打開頁面的速度也就比上一種情況要快。這就是Buffer的好處。 二、如何將asp程序緩沖 這個問題其實(shí)很簡單,只要在asp程序的第一行加上: <% Response.Buffer = True %> 就可以了。 這句話的意思就是指明輸出頁面是否被緩沖,當(dāng)屬性值為True時,服務(wù)器將不會向客戶端發(fā)送任何信息,直到所有程序執(zhí)行完或者遇到 <% Response.Flush %>或<% Response.End %> 語句,才會釋放緩沖區(qū)的信息。 利用 Response.Buffer=True,Response.Flush 可以增進(jìn)瀏覽速度,如果一個頁面 Response.Buffer=False,有30個資料轉(zhuǎn)輸,若有 100 人瀏覽此頁面,則有 3000 個來回傳輸,嚴(yán)重影響效率;若在起始得設(shè)定 Response.Buffer=True,再將整個頁面分為幾個群組,在適當(dāng)?shù)牡胤酱钆?Response.Flush,則可大幅改善使用者的經(jīng)驗(yàn)。 三、總結(jié) Response的Buffer屬性雖然能夠提高頁面顯示速度,但是也要分什么情況。如果你正在制作一個普通的個人主頁,訪問量不是很高,并且沒有什么復(fù)雜的執(zhí)行程序,那么用不用這個屬性就不是很重要,因?yàn)閷?shù)據(jù)緩沖也需要一段時間,只不過我們感覺不到罷了;但是如果你正在制作一個大型論壇或者一個產(chǎn)品展示或其他的商務(wù)站點(diǎn),并且訪問量很高,那么我建議在程序的第一行加入<% Response.Buffer = True %>這句話,因?yàn)檫@樣能夠讓客戶在有效的時間內(nèi)獲得更多的數(shù)據(jù)。 該文章在 2014/12/1 23:23:35 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |