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