精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

優(yōu)化Web服務器性能的幾大方法

責任編輯:vivian

2012-06-01 09:58:55

摘自:中關村在線

在具體的應用環(huán)境下優(yōu)化Web服務器的性能需要另外考慮以下兩個主要因素:網絡特性和Web負載特點。

作為一種資源的組織和表達機制,Web已成為Internet最主要的信息傳送媒介。因此Web的性能已經成為判斷一個網站成功與否的一個重要評估標準。而Web服務器則是決定Web性能的重要環(huán)節(jié)。

Web服務器性能就是指一個Web服務器響應用戶請求的能力。為了提高Web服務器的性能人們進行了諸多嘗試,已經取得了可喜的成果。本文通過對前人研究結果的分析,提出了在具體應用環(huán)境中優(yōu)化Web服務器的方法和策略。

Web服務器概述

Web系統(tǒng)在現(xiàn)在網絡中廣泛使用,而Web服務器則是Web系統(tǒng)的一個重要組成部分。完整的Web結構應包括:HTTP協(xié)議,Web服務器,通用網關接口CGI、Web應用程序接口、Web瀏覽器。

Web服務器是指駐留在因特網上某種類型計算機的程序。它是在網絡中信息提供者基干HTTP的為實現(xiàn)信息發(fā)布、資料查詢、數(shù)據(jù)處理等諸多應用搭建基本平臺的服務器,其主要功能是提供網上信息瀏覽服務。當Web瀏覽器(客戶端)連到服務器并請求文件時,服務器將處理該請求并將文件發(fā)送到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。

Web服務器在web頁面處理中大致可分為三個步驟:第一步,web瀏覽器向一個特定的服務器發(fā)出Web頁面請求;第二步,Web服務器接收到web頁面請求后,尋找所請求的web頁面,并將所請求的Web頁面?zhèn)魉徒oWeb瀏覽器;第三步,Web服務器接收到所請求的web頁面,并將它顯示出來。

web服務器不僅能夠存儲信息,還能在用戶通過Web瀏覽器提供的信息的基礎上運行腳本和程序。在Web上,常見的大多數(shù)表單核搜索引擎上都是用的是CGI腳本。

影響web應用服務器性能的因素

Web服務器的性能就是指一個Web服務器響應用戶請求的能力,服務器的性能對于一個Web系統(tǒng)來說至關重要。為了提高Web服務器的性能人們進行了許多嘗試,也采用了許多技術和方法,但是這些技術和方法往往缺乏適用性。

通過對前人的研究分析可以發(fā)現(xiàn),在web服務器的優(yōu)化方而存在這種問題的原因主要有兩個:一方面是服務器性能評測造成的,一方面是選用優(yōu)化方案時考慮不全面造成的。

現(xiàn)行的服務器性能評測工具在對Web服務器進行評測時,其實是由一臺或幾臺計算機模擬客戶機,與被測的Web服務器進行通信,它們其實組成的只是一個局域網的環(huán)境,這與真正的廣域網的環(huán)境有一定的差別。

另外,評測工具在選擇網絡負載時,雖然已經盡可能的接近真實負載,但是與持續(xù)的高頻率負載要求仍有差距;再者,在性能測試指標的選擇與分析上也不夠合理,造成了分析結果不夠公正、可靠。而在選用優(yōu)化Web服務器的方法時,往往只是考慮Web服務器這一個方面,很少結合具體的應用環(huán)境。所以就造成了評測結果不夠科學,應用環(huán)境考慮不夠全面,Web服務器性能優(yōu)化缺乏針對性。因此在具體的應用環(huán)境下優(yōu)化Web服務器的性能需要另外考慮以下兩個主要因素:網絡特性和Web負載特點。

網絡特性是指web服務器所在網絡情況,是廣域網還是局域網,是高速網絡(傳輸速率在1OOMb/s以上的網絡就叫做高速網絡)還是低速網絡,在不同的網絡中相關的傳輸數(shù)據(jù)的類型、網絡相應時間、吞吐量,利用率等網絡特性不盡相同,所以要加以區(qū)分,具體情況具體分析。

而在Web負載特點方面,由于在對Web服務器進行評測時,一個非常關鍵的因素就是Web負載的選擇。評測工具雖然有多種,但是它們都在選擇負載上做足了功課。關于Web負載特點的研究主要目的就在于對Web服務器性能進行評測時,可以根據(jù)這些特點,選擇模擬最真實的Web負載的評測工具以便獲得最貼近事實的Web服務器性能評測數(shù)據(jù),以便更好的對其進行分析和得出優(yōu)化方案。

Web應用服務器優(yōu)化方法

在對Web服務器進行優(yōu)化時要根據(jù)真實的Web應用系統(tǒng)的情況和特征來采取有針對性地優(yōu)化方案。首先根據(jù)不同的網絡特性來看:在局域網中,降低M T U (最大傳輸單位)值對可以避免復制數(shù)據(jù)和求校驗,而通過優(yōu)化select系統(tǒng)調用或在Socket事件處理器中執(zhí)行計算可以優(yōu)化請求并發(fā)管理,利用HTTP1.1持續(xù)連接等都可以使系統(tǒng)性能得到相應的改善,但在廣域網的環(huán)境下卻沒有什么大的作用,有的甚至恰恰相反。

例如:減少用戶連接的MTU會增加服務器處理開銷,采用網絡延遲、帶寬限制和使用HTTP1.1的持續(xù)連接在廣域網中不會對服務器性能有什么大的影響。在廣域網中,終端用戶的請求的等待時間依賴于與網絡延遲的程度,連接帶寬限制情況。對于廣域網,軟硬中斷在網絡處理中占有很大的分量,所以采用適應的中斷處理機制將會給服務器的響應能力帶來很大的好處;將服務器定位在內核和將基于進程設計改為基于事務處理也可以不同程度的提高服務器的性能。

關于Web負載,除了對Web負載的特征進行分析以便在評測時更好地再現(xiàn)真實負載之外,還要考慮Web服務器所在的網絡環(huán)境下負載的情況。人們不僅要求服務器滿足正常的工作負載要求,而且在高峰時期依然要保持較高的吞吐量。但是,服務器在高負載的情況下的性能表現(xiàn)往往低于人們的期望。

服務器過載的情況分為兩種:一種為瞬間過載,即服務器暫時的、短時間的超載,這種情況主要是由服務器負載的特點引起的。大量的研究表明,Web請求的網絡通信量分布是自相似的,即Web請求的通信量可以在很大范圍內有顯著的變化。這就造成服務器常常短時間的超載,但這樣情況持續(xù)的時間一般很短。一種是服務器長時間的超載,這種情況一般是由某一特殊事件引起的,例如服務器受到拒絕服務攻擊或者發(fā)生了“活鎖”現(xiàn)象。

第一種服務器超載情況是不可避免的,但第二種情況則可以通過對服務器改進來改善。拋開惡意的攻擊不算,仔細分析服務器處理信息包的過程可以發(fā)現(xiàn),造成系統(tǒng)在超載情況下性能下降的根本原因是高優(yōu)先級處理階段對CPU的不公平搶占。

因此,如果限制高優(yōu)先級處理階段對CPU的占用率,或者限制處理高優(yōu)先級的CPU個數(shù),都可以減輕或者消除收包活鎖現(xiàn)象。具體的可以采用以下的方法:

一、采用輪詢機制。為了減少中斷對系統(tǒng)性能的影響,在負載正常的情況下采用“下半處理” 的方法就非常有效,而在高負荷情況下,采用這個方法仍然會造成活鎖現(xiàn)象,這時可以采用輪詢機制。雖然這個方法在負載正常的情況下會造成資源的浪費和響應速度降低,但在網絡數(shù)據(jù)頻繁到達服務器時就要比中斷驅動技術有效的多。

二、減少上下文切換。這種方法不管服務器在什么情況下對性能改善都很有效,這時可以采用引入核心級(kerne1—leve1)或硬件級數(shù)據(jù)流的方法來達到這個目的。核心級數(shù)據(jù)流是將數(shù)據(jù)從源通過系統(tǒng)總線進行轉發(fā)而不需要使數(shù)據(jù)經過應用程序進程,這個過程中因為數(shù)據(jù)在內存中,因此需要CPU操作數(shù)據(jù)。

硬件級數(shù)據(jù)流則是將數(shù)據(jù)從源通過私有數(shù)據(jù)總線或是雖等DMA通過系統(tǒng)總線進行轉發(fā)而不需要使數(shù)據(jù)經過應用程序進程,這個過程不需要CPU操作數(shù)據(jù)。這樣在數(shù)據(jù)傳輸過程中不需要用戶線程的介入,減少了數(shù)據(jù)被拷貝的次數(shù),減少了上下文切換的開銷。

三、減低中斷的頻率(主要是針對高負荷情況的方法)。這里主要有兩種方法:批中斷和暫時關閉中斷。批中斷可以在超載時有效的抑制活鎖現(xiàn)象,但對服務器的性能沒有什么根本性的改進;當系統(tǒng)出現(xiàn)接收活鎖跡象時,可以采用暫時關閉中斷的方法來緩和系統(tǒng)的負擔,當系統(tǒng)緩存再次可用時可以再打開中斷,但這種方法在接收緩存不夠大的情況下會造成數(shù)據(jù)包丟失。

Web服務器性能是整個Web系統(tǒng)的關鍵環(huán)節(jié),提高Web服務器的性能也是長久以來人們一直關注的課題。這里通過對Web服務器的工作原理和現(xiàn)有的優(yōu)化方法和技術的分析,得出了對待Web服務器性能的提高也應該具體問題具體分析,要在具體的應用環(huán)境中,根據(jù)其特點來采取相應的優(yōu)化措施。

鏈接已復制,快去分享吧

企業(yè)網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 万源市| 申扎县| 宝兴县| 宁化县| 泗水县| 和政县| 龙山县| 古交市| 苏州市| 镇坪县| 渭南市| 曲松县| 府谷县| 岳阳市| 昌图县| 尼木县| 施甸县| 东台市| 嵩明县| 呼玛县| 茶陵县| 昌吉市| 河津市| 班戈县| 滦平县| 江华| 耿马| 永济市| 安达市| 突泉县| 土默特左旗| 英德市| 济阳县| 菏泽市| 太和县| 游戏| 平舆县| 乌恰县| 彭泽县| 克拉玛依市| 湖口县|