Web站點優(yōu)化——動態(tài)頁面優(yōu)化

2021-03-18    分類: 網(wǎng)站建設(shè)

動態(tài)頁面中影響整個頁面效率的原因主要包括:復(fù)雜的或不合理的處理邏輯、各類服務(wù)器端技術(shù)的使用控制以及對數(shù)據(jù)庫訪問的處理方法。筆者本次主要討論各類服務(wù)器端技術(shù)的使用控制問題,對于數(shù)據(jù)庫訪問的優(yōu)化則在下一小節(jié)中進行詳細的介紹。
1.合理使用會話
由于HTTP是一種無狀態(tài)的通信協(xié)議,因此,為識別來自不同客戶端的請求及相關(guān)信息,在動態(tài)網(wǎng)頁開發(fā)中不可能避免地要用到Session技術(shù)。在使用會話變量時,服務(wù)器會為每個新來的用戶創(chuàng)建一個會話變量放到內(nèi)存中,直到用戶用戶離開網(wǎng)站一定時間后,會話變量所占的內(nèi)存才被釋放。因此,如果頁面中會話變量使用或存儲的內(nèi)容過多,對服務(wù)器的內(nèi)存無疑會產(chǎn)生巨大的壓力,嚴重影響整個服務(wù)器運行的性能。解決上述問題一般可從如下幾個方面入手。
·合理設(shè)置會話超時時間。網(wǎng)站管理人員應(yīng)根據(jù)網(wǎng)站特點及日志記錄估算每個網(wǎng)頁用戶的平均停留時間,據(jù)此合理設(shè)置會話超時時間,以便能及時釋放被占用的內(nèi)存。
·及時主動關(guān)閉會話。使用Session對象提供的Abandon等方法來及時關(guān)閉一個會話。
·使用Session存儲的內(nèi)容。Session可存儲各類對象,使Session可更靈活地提供對各類信息存儲的功能。但如果在Session可存儲的內(nèi)容過多,例如,將記錄集存儲在Session中以實現(xiàn)分頁功能,則會大量消耗服務(wù)器內(nèi)存,當網(wǎng)站中訪問量較大時,會嚴重影響網(wǎng)站的性能。因此,應(yīng)控制Session存儲的內(nèi)容,只存儲非常必要的信息,如用戶認證信息等。
2.合理使用緩存技術(shù)
大多數(shù)開發(fā)技術(shù)都提供了緩存技術(shù),可在Response對象中設(shè)置網(wǎng)頁在服務(wù)器端的緩存大小。當網(wǎng)頁被生成時,首先輸出至緩沖區(qū),待緩沖區(qū)已滿或整個文件都被處理完畢,才會輸出頁面至客戶端,在此過程中,服務(wù)器端無法再響應(yīng)客戶端信息。因此,如果頁面緩沖區(qū)過大或頁面的邏輯處理復(fù)雜時,會讓用戶長時間等待。
為解決上述問題,可根據(jù)整個頁面的大小以及邏輯處理的復(fù)雜程度合理設(shè)計緩沖大小,或者利用動態(tài)緩存技術(shù)或?qū)⒁粋€頁面分為多個部分,并用Respone.Flush強制輸出頁面。
3.合理使用ASP.NET中的服務(wù)器控件
ASP.NET目前已經(jīng)成為主流Web程序,極大地提高了開發(fā)效率,但是由于各類控件需要在服務(wù)器端創(chuàng)建相應(yīng)的對象,并且要求服務(wù)器進行更多的轉(zhuǎn)譯工作才能顯示成為各類HTML標記,因此,對服務(wù)器性能的影響不可忽視。為提高站點的性能,一方面要盡可能地利用HTML標記服務(wù)器端控制的使用,例如,只是顯示靜態(tài)信息而不進行更改時,一方面要盡可能地利用HTML標記服務(wù)器端控件的使用,例如,只是顯示 靜態(tài)信息而不進行更改時,沒必要再使用Label控件,另一方面實現(xiàn)同樣的功能時要盡可能使用更簡單的控件,如只簡單地顯示數(shù)據(jù)列表時可利用Repeater或DataList或DataList控件而不是DataGrid。

網(wǎng)頁標題:Web站點優(yōu)化——動態(tài)頁面優(yōu)化
標題來源:http://www.bm7419.com/news4/105404.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、微信小程序網(wǎng)站導(dǎo)航、網(wǎng)頁設(shè)計公司、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)