日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁(yè)西西教程其它教程 → IIS 6.0優(yōu)化與asp.net的web.config配置優(yōu)化

      IIS 6.0優(yōu)化與asp.net的web.config配置優(yōu)化

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:百度搜索時(shí)間:2012/11/13 8:41:18字體大。A-A+

      作者:西西點(diǎn)擊:0次評(píng)論:0次標(biāo)簽: IIS6.0

      • 類型:服務(wù)器區(qū)大。15M語(yǔ)言:中文 評(píng)分:3.5
      • 標(biāo)簽:
      立即下載

      這一篇給大家分享IIS的一些優(yōu)化以及asp.net的web.config配置優(yōu)化。

      IIS相關(guān)優(yōu)化

      1.修改IIS最大工作進(jìn)程數(shù)

      a. 請(qǐng)考慮以下幾點(diǎn):

      1.每一個(gè)工作進(jìn)程都會(huì)消耗系統(tǒng)資源和CPU占用率;太多的工作進(jìn)程會(huì)導(dǎo)致系統(tǒng)資源和CPU利用率的急劇消耗;

      2.每一個(gè)工作進(jìn)程都具有自己的狀態(tài)數(shù)據(jù),如果Web應(yīng)用程序依賴于工作進(jìn)程保存狀態(tài)數(shù)據(jù),那么可能不支持使用多個(gè)工作進(jìn)程。

      3. 成資源競(jìng)爭(zhēng),讓多個(gè)工作進(jìn)程運(yùn)行同一個(gè)應(yīng)用程序會(huì)造成資源競(jìng)爭(zhēng)

      b. 修改ISS最大工作進(jìn)程數(shù)提高該應(yīng)用程序池處理請(qǐng)求的性能

      1.在IIS 6.0的Web園(Web Garden)中,指定用于某個(gè)應(yīng)用程序池的工作進(jìn)程的數(shù)量就可以提高該應(yīng)用程序池處理請(qǐng)求的性能。當(dāng)服務(wù)器的負(fù)載較小,不需要額外的工作進(jìn)程時(shí),IIS 6.0在一定的時(shí)間后(默認(rèn)20分鐘,可配置)自動(dòng)縮減實(shí)際的工作進(jìn)程數(shù)量;如果負(fù)載變大,需要額外的工作進(jìn)程,IIS 6.0再次增加工作進(jìn)程數(shù)量。這一切操作都自動(dòng)進(jìn)行,不需要管理員干預(yù)。

      2.修改方法如下:

      修改服務(wù)器.net framework的machine.config的配置

      目錄:C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config

      將其中的“processModel”節(jié)點(diǎn)的“allowDefinition”值設(shè)置為“Everywhere”

      修改服務(wù)器中的iis最大工作進(jìn)程數(shù):

      方法:右擊iis應(yīng)用程序池 --> 屬性 -> “性能”選項(xiàng)卡 -> web園 -> 最大工作進(jìn)程數(shù)

      注:經(jīng)測(cè)試驗(yàn)證,服務(wù)器為32(16*2)核32G內(nèi)存時(shí),設(shè)置為5性能最優(yōu)。

      (PS: processModel 元素(ASP.NET 設(shè)置架構(gòu)) 元素配置用于服務(wù)器(包括服務(wù)器上的所有 ASP.NET 應(yīng)用程序)的處理模型。因此,processModel 設(shè)置只能放在 Machine.config 文件中,而且不能被任何 Web.config 文件中的設(shè)置重寫。 )

      2.取消IIS的web訪問(wèn)記錄

      a. 關(guān)閉IIS訪問(wèn)記錄可以提升web性能

      1.IIS6.0默認(rèn)開(kāi)啟對(duì)于web的IIS訪問(wèn)記錄。當(dāng)開(kāi)啟記錄功能后,IIS會(huì)事無(wú)巨細(xì)地忠實(shí)記錄所有的IIS訪問(wèn)記錄。這些記錄文件的內(nèi)容是非常龐雜的,比如訪問(wèn)時(shí)間、客戶端IP、從哪個(gè)鏈接訪問(wèn)、 Cookies等,另外還包括 Method(方法), UserAgent(用戶代理)等。

      這些記錄不但占用大量的磁盤空間還大大地影響了web服務(wù)器的性能。有人做過(guò)評(píng)測(cè),停止IIS訪問(wèn)記錄可以提升5%到8%的web性能。

      2.方法:打開(kāi)IIS管理器,定位到具體的web站點(diǎn),右鍵點(diǎn)擊選擇“屬性”,在“主目錄”選項(xiàng)卡下取消對(duì)“記錄訪問(wèn)”的勾選即可

      Web.config配置優(yōu)化(生產(chǎn)環(huán)境)

      1.去除無(wú)用HttpModules

      d. 并不是所有的Modules都是必需的,去除不用的HttpModules可以提高請(qǐng)求速度

      1.asp.net默認(rèn)的HttpModules管理請(qǐng)求的管線控制每一個(gè)請(qǐng)求。

      例如:SessionStateModule攔截每一個(gè)請(qǐng)求,分析session cookie 來(lái)加載HttpContext中的合適的session.但是并不是所有的Modules都是必需的,比如:如果你不用membership的話,就不用配置FormsAuthentication模塊;如果你不用windows身份驗(yàn)證就不用配置WindowsAuthentication,這些模塊只是包含在管線里面,為每一個(gè)請(qǐng)求執(zhí)行一些并不是必須的代碼。

      2.默認(rèn)的模塊定義在machine.config中(在網(wǎng)站的web.config中設(shè)置表示當(dāng)前網(wǎng)站有效)($WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG)。如果不需要這些管線的話,配置如下:

      <httpModules> 
      
      <!--去除不必要的節(jié)點(diǎn),提高請(qǐng)求速度--> 
      
      <remove name="OutputCache" /> 
      
      <remove name="Session" /> 
      
      <remove name="WindowsAuthentication" /> 
      
      <remove name="FormsAuthentication" /> 
      
      <remove name="PassportAuthentication" /> 
      
      <remove name="RoleManager" /> 
      
      <remove name="UrlAuthorization" /> 
      
      <remove name="FileAuthorization" /> 
      
      <remove name="AnonymousIdentification" /> 
      
      <remove name="Profile" /> 
      
      </httpModules>

      2. 關(guān)閉頁(yè)面級(jí)無(wú)用機(jī)制

      Web.config中的<pages>節(jié)點(diǎn)配置全局定義頁(yè)特定設(shè)置,如配置文件范圍內(nèi)的頁(yè)和控件的 ASP.NET 指令。默認(rèn)enableViewState屬性為“true”,即開(kāi)啟視圖,如果不使用這個(gè)機(jī)制就可以設(shè)置為“false”。

      默認(rèn)autoEventWireup屬性為“true”,即開(kāi)啟頁(yè)事件,如果不使用這個(gè)機(jī)制就可以設(shè)置為“false”。

      默認(rèn)buffer屬性為“true”,即開(kāi)啟 HTTP 響應(yīng)緩沖。
      默認(rèn)enableViewStateMac屬性為“false”,開(kāi)啟對(duì)頁(yè)的視圖狀態(tài)運(yùn)行計(jì)算機(jī)身份驗(yàn)證檢查 (MAC),以放置用戶篡改,如果設(shè)置為true,將會(huì)引起性能的降低。
      默認(rèn)validateRequest默認(rèn)為true,開(kāi)啟驗(yàn)證用戶輸入中有跨站點(diǎn)腳本攻擊和SQL注入式漏洞攻擊,,如果出現(xiàn)匹配情況就會(huì)發(fā) HttpRequestValidationException 異常。

      3. 將CustomError設(shè)置為非Off狀態(tài)

      Web.config中的<customErrors>節(jié)點(diǎn)用于定義一些自定義錯(cuò)誤信息的信息。此節(jié)點(diǎn)有Mode和defaultRedirect兩個(gè)屬性,其中defaultRedirect屬性是一個(gè)可選屬性,表示應(yīng)用程序發(fā)生錯(cuò)誤時(shí)重定向到的默認(rèn)URL,如果沒(méi)有指定該屬性則顯示一般性錯(cuò)誤。Mode屬性是一個(gè)必選屬性,它有三個(gè)可能值,它們所代表的意義分別如下:
      Mode 說(shuō)明
      On 表示在本地和遠(yuǎn)程用戶都會(huì)看到自定義錯(cuò)誤信息。
      Off 禁用自定義錯(cuò)誤信息,本地和遠(yuǎn)程用戶都會(huì)看到詳細(xì)的錯(cuò)誤信息。
      RemoteOnly 表示本地用戶將看到詳細(xì)錯(cuò)誤信息,而遠(yuǎn)程用戶將會(huì)看到自定義錯(cuò)誤信息。
      這里有必要說(shuō)明一下本地用戶和遠(yuǎn)程用戶的概念。當(dāng)我們?cè)L問(wèn)asp.net應(yīng)用程時(shí)所使用的機(jī)器和發(fā)布asp.net應(yīng)用程序所使用的機(jī)器為同一臺(tái)機(jī)器時(shí)成為本地用戶,反之則稱之為遠(yuǎn)程用戶。在開(kāi)發(fā)調(diào)試階段為了便于查找錯(cuò)誤Mode屬性建議設(shè)置為Off,而在部署階段應(yīng)將Mode屬性設(shè)置為On或者RemoteOnly,以避免這些詳細(xì)的錯(cuò)誤信息暴露了程序代碼細(xì)節(jié)從而引來(lái)黑客的入侵。

      配置如下:

      <customErrors mode=" On " defaultRedirect="Error.html"/>

      4. 禁用調(diào)試

      Web.config中的<compilation>節(jié)點(diǎn)配置 ASP.NET 使用的所有編譯設(shè)置。默認(rèn)的debug屬性為“true”,即允許調(diào)試,在開(kāi)發(fā)階段這樣配置沒(méi)有問(wèn)題。但正式部署上線后,這樣會(huì)影響支撐接口的性能,所以在程序編譯完成上線之后應(yīng)將其設(shè)為“false”。

      配置如下:

      <compilation debug="false" />

      5. 連接并發(fā)配置

      連接并發(fā)數(shù)限制是指對(duì)于同一個(gè)ip對(duì)同一個(gè)domain發(fā)起的最大連接數(shù)。其實(shí)在大多數(shù)微軟的產(chǎn)品或組件中都存在這個(gè)限制,一般這個(gè)數(shù)值是2/4個(gè),也就是說(shuō)在默認(rèn)情況下,對(duì)于同一個(gè)ip訪問(wèn)同一個(gè)domain同時(shí)最多有2個(gè)連接處于建立狀態(tài)。默認(rèn)是2,這個(gè)值太低了。這意味著每一個(gè)IP最多只能有兩個(gè)請(qǐng)求到你的網(wǎng)站,這樣會(huì)造成請(qǐng)求擁堵。asp.net中connectionManagement節(jié)點(diǎn)可以設(shè)置單個(gè)ip對(duì)同某個(gè)domain發(fā)起的最大連接數(shù)。

      配置如下:

      <system.net> 
      
      <connectionManagement> 
      
      <add address="*" maxconnection="100" /> 
      
      </connectionManagement> 
      
      </system.net>

      address代表針對(duì)哪個(gè)domain,maxconnection代表最大連接數(shù)。

      6. 去掉http頭信息中的ASP.NET 版本標(biāo)頭

      enableVersonHeader:指定 ASP.NET 是否應(yīng)輸出版本標(biāo)頭。使用該屬性來(lái)確定當(dāng)前使用的 ASP.NET 版本。對(duì)于生產(chǎn)環(huán)境,該屬性不是必需的,可以禁用。

      配置示例:

      <httpRuntime enableVersionHeader="false" />

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)