Web應(yīng)用服務(wù)器優(yōu)化方法
在對(duì)Web服務(wù)器進(jìn)行優(yōu)化時(shí)要根據(jù)真實(shí)的Web應(yīng)用系統(tǒng)的情況和特征來采取有針對(duì)性地優(yōu)化方案。首先根據(jù)不同的網(wǎng)絡(luò)特性來看:在局域網(wǎng)中,降低M T U (最大傳輸單位)值對(duì)可以避免復(fù)制數(shù)據(jù)和求校驗(yàn),而通過優(yōu)化select系統(tǒng)調(diào)用或在Socket事件處理器中執(zhí)行計(jì)算可以優(yōu)化請(qǐng)求并發(fā)管理,利用HTTP1.1持續(xù)連接等都可以使系統(tǒng)性能得到相應(yīng)的改善,但在廣域網(wǎng)的環(huán)境下卻沒有什么大的作用,有的甚至恰恰相反。
關(guān)于Web負(fù)載,除了對(duì)Web負(fù)載的特征進(jìn)行分析以便在評(píng)測(cè)時(shí)更好地再現(xiàn)真實(shí)負(fù)載之外,還要考慮Web服務(wù)器所在的網(wǎng)絡(luò)環(huán)境下負(fù)載的情況。人們不僅要求服務(wù)器滿足正常的工作負(fù)載要求,而且在高峰時(shí)期依然要保持較高的吞吐量。但是,服務(wù)器在高負(fù)載的情況下的性能表現(xiàn)往往低于人們的期望。
服務(wù)器過載的情況分為兩種:一種為瞬間過載,即服務(wù)器暫時(shí)的、短時(shí)間的超載,這種情況主要是由服務(wù)器負(fù)載的特點(diǎn)引起的。大量的研究表明,Web請(qǐng)求的網(wǎng)絡(luò)通信量分布是自相似的,即Web請(qǐng)求的通信量可以在很大范圍內(nèi)有顯著的變化。這就造成服務(wù)器常常短時(shí)間的超載,但這樣情況持續(xù)的時(shí)間一般很短。一種是服務(wù)器長(zhǎng)時(shí)間的超載,這種情況一般是由某一特殊事件引起的,例如服務(wù)器受到拒絕服務(wù)攻擊或者發(fā)生了“活鎖”現(xiàn)象。
第一種服務(wù)器超載情況是不可避免的,但第二種情況則可以通過對(duì)服務(wù)器改進(jìn)來改善。拋開惡意的攻擊不算,仔細(xì)分析服務(wù)器處理信息包的過程可以發(fā)現(xiàn),造成系統(tǒng)在超載情況下性能下降的根本原因是高優(yōu)先級(jí)處理階段對(duì)CPU的不公平搶占。
【編輯推薦】