動(dòng)態(tài)頁面中影響整個(gè)頁面效率的原因主要包括:復(fù)雜的或不合理的處理邏輯、各類服務(wù)器端技術(shù)的使用控制以及對(duì)數(shù)據(jù)庫訪問的處理方法。筆者本次主要討論各類服務(wù)器端技術(shù)的使用控制問題,對(duì)于數(shù)據(jù)庫訪問的優(yōu)化則在下一小節(jié)中進(jìn)行詳細(xì)的介紹。
1.合理使用會(huì)話
由于HTTP是一種無狀態(tài)的通信協(xié)議,因此,為識(shí)別來自不同客戶端的請(qǐng)求及相關(guān)信息,在動(dòng)態(tài)網(wǎng)頁開發(fā)中不可能避免地要用到Session技術(shù)。在使用會(huì)話變量時(shí),服務(wù)器會(huì)為每個(gè)新來的用戶創(chuàng)建一個(gè)會(huì)話變量放到內(nèi)存中,直到用戶用戶離開網(wǎng)站一定時(shí)間后,會(huì)話變量所占的內(nèi)存才被釋放。因此,如果頁面中會(huì)話變量使用或存儲(chǔ)的內(nèi)容過多,對(duì)服務(wù)器的內(nèi)存無疑會(huì)產(chǎn)生巨大的壓力,嚴(yán)重影響整個(gè)服務(wù)器運(yùn)行的性能。解決上述問題一般可從如下幾個(gè)方面入手。
·合理設(shè)置會(huì)話超時(shí)時(shí)間。網(wǎng)站管理人員應(yīng)根據(jù)網(wǎng)站特點(diǎn)及日志記錄估算每個(gè)網(wǎng)頁用戶的平均停留時(shí)間,據(jù)此合理設(shè)置會(huì)話超時(shí)時(shí)間,以便能及時(shí)釋放被占用的內(nèi)存。
·及時(shí)主動(dòng)關(guān)閉會(huì)話。使用Session對(duì)象提供的Abandon等方法來及時(shí)關(guān)閉一個(gè)會(huì)話。
·使用Session存儲(chǔ)的內(nèi)容。Session可存儲(chǔ)各類對(duì)象,使Session可更靈活地提供對(duì)各類信息存儲(chǔ)的功能。但如果在Session可存儲(chǔ)的內(nèi)容過多,例如,將記錄集存儲(chǔ)在Session中以實(shí)現(xiàn)分頁功能,則會(huì)大量消耗服務(wù)器內(nèi)存,當(dāng)網(wǎng)站中訪問量較大時(shí),會(huì)嚴(yán)重影響網(wǎng)站的性能。因此,應(yīng)控制Session存儲(chǔ)的內(nèi)容,只存儲(chǔ)非常必要的信息,如用戶認(rèn)證信息等。
2.合理使用緩存技術(shù)
大多數(shù)開發(fā)技術(shù)都提供了緩存技術(shù),可在Response對(duì)象中設(shè)置網(wǎng)頁在服務(wù)器端的緩存大小。當(dāng)網(wǎng)頁被生成時(shí),首先輸出至緩沖區(qū),待緩沖區(qū)已滿或整個(gè)文件都被處理完畢,才會(huì)輸出頁面至客戶端,在此過程中,服務(wù)器端無法再響應(yīng)客戶端信息。因此,如果頁面緩沖區(qū)過大或頁面的邏輯處理復(fù)雜時(shí),會(huì)讓用戶長(zhǎng)時(shí)間等待。
為解決上述問題,可根據(jù)整個(gè)頁面的大小以及邏輯處理的復(fù)雜程度合理設(shè)計(jì)緩沖大小,或者利用動(dòng)態(tài)緩存技術(shù)或?qū)⒁粋€(gè)頁面分為多個(gè)部分,并用Respone.Flush強(qiáng)制輸出頁面。
3.合理使用ASP.NET中的服務(wù)器控件
ASP.NET目前已經(jīng)成為主流Web程序,極大地提高了開發(fā)效率,但是由于各類控件需要在服務(wù)器端創(chuàng)建相應(yīng)的對(duì)象,并且要求服務(wù)器進(jìn)行更多的轉(zhuǎn)譯工作才能顯示成為各類HTML標(biāo)記,因此,對(duì)服務(wù)器性能的影響不可忽視。為提高站點(diǎn)的性能,一方面要盡可能地利用HTML標(biāo)記服務(wù)器端控制的使用,例如,只是顯示靜態(tài)信息而不進(jìn)行更改時(shí),一方面要盡可能地利用HTML標(biāo)記服務(wù)器端控件的使用,例如,只是顯示 靜態(tài)信息而不進(jìn)行更改時(shí),沒必要再使用Label控件,另一方面實(shí)現(xiàn)同樣的功能時(shí)要盡可能使用更簡(jiǎn)單的控件,如只簡(jiǎn)單地顯示數(shù)據(jù)列表時(shí)可利用Repeater或DataList或DataList控件而不是DataGrid。
網(wǎng)站名稱:Web站點(diǎn)優(yōu)化——?jiǎng)討B(tài)頁面優(yōu)化
當(dāng)前URL:http://jinyejixie.com/news/105404.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、域名注冊(cè)、品牌網(wǎng)站設(shè)計(jì)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)