91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【C#】ASP.NET應(yīng)用程序池進(jìn)程優(yōu)化

admin
2021年3月10日 11:36 本文熱度 4809

ASP.NET工作者進(jìn)程能夠推動(dòng)其限制而獲得更高的性能。在 Internet 信息服務(wù) (IIS) Web 服務(wù)器上配置 ASP.NET 進(jìn)程模型設(shè)置。只能在 Machine.config 文件中設(shè)置 <processModel> 節(jié),并且該節(jié)影響服務(wù)器上運(yùn)行的所有 ASP.NET 應(yīng)用程序。 可以參考文檔說明:http://doc.51windows.net/iismmc/?url=/iismmc/htm/aaconprocessmodelelement.htm。

ASP.NET進(jìn)程模型配置定義了一些進(jìn)程級(jí)別的屬性,像ASP.NET使用的線程數(shù)量、超時(shí)前阻止線程花費(fèi)了多長時(shí)間、多少請求在繼續(xù)等待IO工作完成等等。默認(rèn)情況下,很多方面都具有太多的限制。現(xiàn)在我們使用的硬件都是采用雙核多GB的RAM服務(wù)器,因此,進(jìn)程模型配置能夠減少ASP.NET進(jìn)程消耗更多的系統(tǒng)資源并提供為每臺(tái)服務(wù)器提供更好的擴(kuò)展性。

ASP.NET 2.0 安裝將會(huì)在machine.config文件中創(chuàng)建如下配置的節(jié)點(diǎn):

<system.web>
<processModel autoConfig="true" />

需要減少這種自動(dòng)配置并針對(duì)不同的特性使用一些特定的值以便自定義ASP.NET工作者進(jìn)程的工作方式。例如:

<processModel
  enable="true"
  timeout="Infinite"
  idleTimeout="Infinite"
  shutdownTimeout="00:00:05"
  requestLimit="Infinite"
  requestQueueLimit="5000"
  restartQueueLimit="10"
  memoryLimit="60"
  webGarden="false"
  userName="machine"
  password="AutoGenerate"
  logLevel="Errors"
  clientConnectedCheck="00:00:05"
  comAuthenticationLevel="Connect"
  comImpersonationLevel="Impersonate"
  responseDeadlockInterval="00:03:00"
  responseRestartDeadlockInterval="00:03:00"
  autoConfig="false"
  maxWorkerThreads="100"
  maxIoThreads="100"
  minWorkerThreads="40"
  minIoThreads="30"
  serverErrorMessageFile=""
  pingFrequency="Infinite"
  pingTimeout="Infinite"
  maxAppDomains="2000"
  />

除了下面幾個(gè)不為默認(rèn)值以外,其余均為系統(tǒng)默認(rèn)值:

maxWorkerThreads 

每次處理默認(rèn)為20,在一臺(tái)雙核的計(jì)算機(jī)上,ASP.NET的處理就需要40了。這意味著ASP.NET在一臺(tái)并行的雙核服務(wù)器上可以每次處理40個(gè)請求。我將數(shù)量增加到100以便為ASP.NET的每次處理提供更多的線程。如果你有一個(gè)應(yīng)用程序,它的CPU處理能力并不是很強(qiáng)但是它卻能夠每秒更容易地處理多個(gè)請求,那么你就可以增加這個(gè)值。

尤其是你的Web應(yīng)用程序使用了大量的Web服務(wù)調(diào)用或者下載/上傳了很多不會(huì)對(duì)CPU產(chǎn)生壓力的數(shù)據(jù)時(shí)。當(dāng)ASP.NET用完這些工作者線程時(shí),它會(huì)停止出來發(fā)來的多個(gè)請求。此時(shí)請求會(huì)放置到一個(gè)隊(duì)列中并持續(xù)等待直到出現(xiàn)一個(gè)空閑的工作者線程。通常到你的站點(diǎn)開始接受超過預(yù)期的點(diǎn)擊時(shí)會(huì)發(fā)生這樣的情況。那樣的話,如果你需要節(jié)省CPU的使用,可以增加每次處理的工作者線程數(shù)來達(dá)到目的。

maxIOThreads

每次處理默認(rèn)為20,在一臺(tái)雙核的計(jì)算機(jī)上,ASP.NET進(jìn)行的I/O操作就需要40個(gè)線程了。這意味著ASP.NET在一臺(tái)并行的雙核服務(wù)器上可以每次處理40個(gè)I/O請求。I/O請求能夠進(jìn)行的文件讀/寫、數(shù)據(jù)庫操作、web服務(wù)調(diào)用、從Web 應(yīng)用程序中產(chǎn)生的HTTP請求等等。因此,如果你的服務(wù)器有足夠的系統(tǒng)資源來處理更多的I/O請求,你可以將該值設(shè)置為100。特別是當(dāng)你的Web應(yīng)用程序在并行模式下進(jìn)行下載/上傳數(shù)據(jù)、調(diào)用很多外部Web服務(wù)時(shí),非常有用。

minWorkerThreads

當(dāng)空閑的ASP.NET工作者線程數(shù)量低于這個(gè)數(shù)字時(shí),ASP.NET就會(huì)開始將這些發(fā)來的請求推入隊(duì)列中。因此,你可以為改值設(shè)定一個(gè)較低的值以便可以增加當(dāng)前請求的數(shù)量。此外,建議不要將該值設(shè)置得過低,因?yàn)閃eb應(yīng)用程序的代碼可能需要做一些后臺(tái)處理和并行處理,此時(shí)會(huì)需要更多的空閑工作者線程支持。

minIOThreads

除了它是針對(duì)I/O線程以外,其它與minWorkerThreads的方式相同。然而你可以將該值設(shè)置得比minWorkerThreads還低。因?yàn)榫虸/O線程而言,這里不會(huì)發(fā)生并行處理的問題。

memoryLimit

指定內(nèi)存大小所允許的最大值,作為整個(gè)系統(tǒng)內(nèi)存的百分比,以便ASP.NET在啟動(dòng)一個(gè)新的進(jìn)程并重新分派存在的請求之前這些工作者進(jìn)程能夠進(jìn)行消費(fèi)。如果在你的服務(wù)器上僅僅只運(yùn)行了你的網(wǎng)站應(yīng)用程序,而且沒有其它的進(jìn)程需要RAM,你可以設(shè)置一個(gè)更高的值,比如80。

然而,如果你同時(shí)有一個(gè)會(huì)發(fā)生內(nèi)存泄漏的應(yīng)用程序,那么最好是把該值設(shè)置為一個(gè)較低的值以便在出現(xiàn)大問題之前泄漏的內(nèi)存能得到及時(shí)的回收從而保持你的站點(diǎn)穩(wěn)定。尤其是當(dāng)你使用COM組件并發(fā)生內(nèi)存泄漏時(shí)。然而,這只是針對(duì)該問題的一個(gè)臨時(shí)解決方案;當(dāng)然需要你去解決泄漏問題。

除了processModel以外,另外還有一個(gè)非常重要的節(jié)點(diǎn)system.net,你能夠指定發(fā)出請求作為單獨(dú)IP的最大數(shù)量。

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

默認(rèn)值為2,設(shè)置得比較低。這就意味著你不能從你的Web應(yīng)用程序用一個(gè)IP地址同時(shí)鏈接多于2個(gè)的鏈接。站點(diǎn)獲得外部內(nèi)容很多都是由于默認(rèn)設(shè)置而遭到阻塞。這里我將其設(shè)置為100。如果你的Web應(yīng)用程序會(huì)對(duì)某一個(gè)指定的服務(wù)器進(jìn)行大量的調(diào)用,你甚至可以考慮設(shè)置一個(gè)更高的值。


該文章在 2021/3/10 11:36:26 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 另类小说自拍 | 日韩美女性爱 | www91| 欧美三级欧美一级 | 精品一线二线在线 | 欧洲乱码伦网站 | 日本成人A123区 | 三级特黄60分 | 国产高清精品一级 | 精品婷婷精 | 九九精品视频亚州 | 久事福利资源站在线 | 欧美又粗又 | 91福利页面| 国产理论片 | 中文字幕福利一 | 国偷自产一区二区 | 精品玖玖玖视 | 日本欧美国产婷婷 | 精品三级欧美中文 | 97se狠狠狠狠狼 | 九九国产视频 | 日本一区免费在线 | 日韩亚洲三级 | 国产乱理论在线观看 | www日本| 国产精品的国产 | 成人国内 | 日本特黄特大视频 | 国产不卡视频在线 | 区四区在线观看 | 国产视频在线 | 91福利免费| 国产日韩精品a | 国产日韩欧美亚洲 | 欧美日韩一道在线 | 日本亚欧在线观看 | 欧美日韩中文 | 日韩精品视频老牛 | 成人开心网 | 成人午夜福利合集 |