主頁 > 知識庫 > ASP.NET線程相關(guān)配置

ASP.NET線程相關(guān)配置

熱門標(biāo)簽:朝陽市地圖標(biāo)注 東莞語音電銷機器人排名 使用智能電話機器人違法嗎 淘寶地圖標(biāo)注如何做 外呼系統(tǒng)用員工身份證 蘇州銷售外呼系統(tǒng)預(yù)算 太原外呼電銷機器人費用 電話機器人廣告話術(shù) 保山電話外呼管理系統(tǒng)怎么用

1、(maxWorkerThreads * CPU邏輯數(shù)量)-minFreeThreads

比如2個CPU默認配置maxWorkerThreads=100,minFreeThreads=176,則同時最大只能有24個工作線程。(這里不管  system.net>

    connectionManagement>

      add address="*" maxconnection="8" />

    /connectionManagement>

 /system.net>這個配置的值,經(jīng)過測試,不管這里的maxconnection為多少,最終都是從上面的計算公式計算出來的)

 

2、maxconnection,這個值是每秒可以支持的線程數(shù)。(但實際每秒可以并行運行的線程為(maxWorkerThreads * CPU邏輯數(shù)量)-minFreeThreads的結(jié)果),一般要求支持并發(fā)量,每個并發(fā)請求都很耗時的情況下,就需要設(shè)置該值為對應(yīng)的并發(fā)量(有這么多線程來處理),但線程多了切換也很耗服務(wù)器資源,實際情況往往不一定請求都很耗時,所以根據(jù)實際情況調(diào)整。

 

3、maxWorkerThreads是最大工作線程,默認100我覺得再非高并發(fā)下還是可以

 

4、minWorkerThreads是最小工作線程,由于托管線程啟動比較耗時,根據(jù)實驗結(jié)果:40秒啟動了18個線程,大概接近官方說的每秒接近2個。由于線程開銷比較耗時,因此可以初始化到正常情況下的最低支持并發(fā)數(shù)量。比如我們平臺白天最少有10個并發(fā),則可以設(shè)置最小線程為5(2個CPU),或者服務(wù)端可能會遇到瞬間的超大并發(fā)量的請求,則可設(shè)置默認最小工作線程更大一點,可以快速處理請求。minWorkerThreads只對遞增線程有影響,不影響穩(wěn)定后的并發(fā)量。

 

5、最小空閑線程minFreeThreads參數(shù)的配置,有的官方資料建議配置成88*N的數(shù)量(如果maxWorkerThreads為100的情況),因為說為了留足夠的空閑線程給系統(tǒng)用,但是經(jīng)過測試,發(fā)現(xiàn)高壓下,缺空閑線程真的空閑起來了,根本沒有用,因此我覺得應(yīng)該把這個值設(shè)置小一點,比如設(shè)置為80(maxWorkerThreads為100的情況),就會留下100*2-80=120個最大連接,在高壓下就能建立120個線程,速度和效率會很快。

 

 

注意點:

1、CPU邏輯數(shù)量:按照物理CPU數(shù)量,如果CPU是超線程(多核)會再乘以2

2、同一時間可處理量不代表每秒可處理量,比如同一時間可以處理20個,可能每秒能處理200個,因為每個請求只要0.1秒。

3、注意配置節(jié)點中processModel里的maxWorkerThreads、maxIoThreads和minWorkerThreads、minIoThreads都只配置單CPU邏輯數(shù)量的值,計算時會自動乘以CPU邏輯數(shù)量。

4、配置節(jié)點包括:

System.web節(jié)點下:

    processModel autoConfig="false"

    maxWorkerThreads = "100"

    maxIoThreads = "100"

    minWorkerThreads = "20"

    minIoThreads = "20"

/>

    httpRuntime

 minFreeThreads="100"

 minLocalRequestFreeThreads="100"

/>

System.web同級節(jié)點下

 system.net>

    connectionManagement>

      add address="*" maxconnection="8" />

    /connectionManagement>

 /system.net>

5、利用到的獲取參數(shù)代碼:

            string result = string.Empty;

            int maxWorkThread = 0;

            int maxIOThread = 0;

            int minWorkThread = 0;

            int minIOThread = 0;

            int workThread = 0;

            int completeThread = 0;

            ThreadPool.GetMaxThreads(out maxWorkThread, out maxIOThread);

            ThreadPool.GetMinThreads(out minWorkThread, out minIOThread);

            ThreadPool.GetAvailableThreads(out workThread, out completeThread);

 

            result = DateTime.Now.ToString() + ":" + "\r\n";

            result += "最大工作線程:" + maxWorkThread + ",最大IO線程:" + maxIOThread + "\r\n";

            result += "最小工作線程:" + minWorkThread + ",最小IO線程:" + minIOThread + "\r\n";

            result += "可用工作線程:" + workThread + ",可用IO線程:" + completeThread + "\r\n";

            result += "\r\n";

(把result記錄下來,沒有用StringBuilder,臨時用的)

轉(zhuǎn)載:http://lawson.cnblogs.com/

您可能感興趣的文章:
  • asp.net 計劃任務(wù)管理程序?qū)崿F(xiàn),多線程任務(wù)加載
  • ASP.NET:一段比較經(jīng)典的多線程學(xué)習(xí)代碼
  • C#線程間不能調(diào)用剪切板的解決方法
  • c#線程Thread示例
  • c#線程同步使用詳解示例
  • c#多線程編程基礎(chǔ)
  • c#線程間傳遞參數(shù)詳解
  • C#線程定義和使用方法詳解
  • 使用ASP.NET創(chuàng)建線程實例教程

標(biāo)簽:綏化 西藏 運城 呼倫貝爾 潛江 阿里 克拉瑪依 洛陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET線程相關(guān)配置》,本文關(guān)鍵詞  ASP.NET,線程,相關(guān),配置,ASP.NET,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET線程相關(guān)配置》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP.NET線程相關(guān)配置的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章