本文为大家介绍有关c#(asp.net)线程配置的相关知识,有需要的朋友可以参考下。

同一时刻只能发起的工作线程数量。

1、(maxWorkerThreads * CPU逻辑数量)-minFreeThreads

比如2个CPU默认配置maxWorkerThreads=100,minFreeThreads=176,则同时最大只能有24个工作线程。(这里不管

代码示例:

这个配置的值,经过测试,不管此处maxconnection为多少,最终都是从上面的计算公式计算出来)

2、maxconnection,这个值是每秒可以支持的线程数。(但实际每秒可以并行运行的线程为(maxWorkerThreads * CPU逻辑数量)-minFreeThreads的结果),一般要求支持并发量,每个并发请求都很耗时的情况下,就需要设置该值为对应的并发量(有这么多线程来处理),但线程多了切换也很耗服务器资源,实际情况往往不一定请求都很耗时,所以根据实际情况调整。

3、maxWorkerThreads是最大工作线程,默认100我觉得再非高并发下还是可以

4、minWorkerThreads是最小工作线程,由于托管线程启动比较耗时,根据实验结果:40秒启动了18个线程,大概接近官方说的每秒接近2个。由于线程开销比较耗时,因此可以初始化到正常情况下的最低支持并发数量。比如我们平台白天最少有10个并发,则可以设置最小线程为5(2个CPU),或者服务端可能会遇到瞬间的超大并发量的请求,则可设置默认最小工作线程更大一点,可以快速处理请求。minWorkerThreads只对递增线程有影响,不影响稳定后的并发量。

5、最小空闲线程minFreeThreads参数的配置,有的官方资料建议配置成88*N的数量(如果maxWorkerThreads为100的情况),因为说为了留足够的空闲线程给系统用,但是经过测试,发现高压下,缺空闲线程真的空闲起来了,根本没有用,因此我觉得应该把这个值设置小一点,比如设置为80(maxWorkerThreads为100的情况),就会留下100*2-80=120个最大连接,在高压下就能建立120个线程,速度和效率会很快。

注意点:

1、CPU逻辑数量:按照物理CPU数量,如果CPU是超线程(多核)会再乘以2

2、同一时间可处理量不代表每秒可处理量,比如同一时间可以处理20个,可能每秒能处理200个,因为每个请求只要0.1秒。

3、注意配置节点中processModel里的maxWorkerThreads、maxIoThreads和minWorkerThreads、minIoThreads都只配置单CPU逻辑数量的值,计算时会自动乘以CPU逻辑数量。

4、配置节点包括:

System.web节点下:

代码示例:

System.web同级节点下

代码示例:

5、获取参数代码:

代码示例:

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() + ":" + "rn";

result += "最大工作线程:" + maxWorkThread + ",最大IO线程:" + maxIOThread + "rn";

result += "最小工作线程:" + minWorkThread + ",最小IO线程:" + minIOThread + "rn";

result += "可用工作线程:" + workThread + ",可用IO线程:" + completeThread + "rn";

result += "rn";

(记录result,未使用StringBuilder,临时用一下)。

minio 并发数_c#(asp.net)线程配置总结相关推荐

  1. minio 并发数_MinIO 参数解析与限制

    {"yunqiCommunityData":{"code":200,"text":"\n MinIO 参数解析与限制 \n Min ...

  2. minio 并发数_开源数据存储项目Minio:提供非结构化数据储存服务

    Minio是一个在Apache Licence 2.0下发布的对象存储服务器.官网:https://minio.io.它与Amazon S3云存储服务兼容.Minio最适合存储非结构化数据,如照片.视 ...

  3. winform判断线程有没有完成_并发编程系列1:线程池的架构实现、大小配置、及四种线程池使用...

    △ 公众号回复关键词"架构" 即可领取<1500+BAT架构及面试专题合集> 本篇为线程池系列文章之一,不经常使用线程池的童鞋,还有对几种线程的使用不甚了解的童鞋,可以 ...

  4. 项目使用线程池_并发编程系列1:线程池的架构实现、大小配置、及四种线程池使用...

    △ 公众号回复关键词"架构" 即可领取<1500+BAT架构及面试专题合集> 本篇为线程池系列文章之一,不经常使用线程池的童鞋,还有对几种线程的使用不甚了解的童鞋,可以 ...

  5. Java发令枪ConcurrentExecutor之控制线程数,并发数

    前言 前段时候学习单例模式的时候,有用到多线程并发数去测试单例模式的线程安全.但是当时时间比较紧没有进行记录,今天特地记录一下. 1.先看代码 import java.util.concurrent. ...

  6. java高并发(十八)线程池

    在之前已经使用过线程池了.在使用中,基本上就是初始化好线程池的实例之后,把任务丢进去,等待调度执行就可以了.使用起来非常简单方便. new Thread弊端 每次new Thread新建对象,性能差 ...

  7. 并行度和并发数的比较

    在互联网概念中,并行度是指可同时开辟的线程的数量 并发数是指每个线程中可同时处理的最大数据量.比如4个线程,每个线程可处理的数据量是100万条,那么并行度就是4,并发量就是100万,而对于stage而 ...

  8. java统计系统线程数_Java并发(八)计算线程池最佳线程数

    目录 一.理论分析 二.实际应用 为了加快程序处理速度,我们会将问题分解成若干个并发执行的任务.并且创建线程池,将任务委派给线程池中的线程,以便使它们可以并发地执行.在高并发的情况下采用线程池,可以有 ...

  9. app每秒并发数_性能测试连载 (38) jmeter 线程数与性能测试的负载模式

    点击跳转>>jmeter--由浅入深学性能系列 需求 下面有3个场景,思考一下在jmeter里面如何设计 场景1:有一个项目,500用户同时登录,响应时间能达到多少场景2:考勤打卡,最大吞 ...

最新文章

  1. 九、中缀表达式转为后缀表达式
  2. vivo系统如何没root激活Xposed框架的经验
  3. 使用Tkinter的Label组件写一个广告板招租
  4. Linux下的shell简介(三)
  5. 华为手机出现android啥意思,传华为正研发手机系统,如果脱离安卓系统,还有啥能阻止华为前进...
  6. python使用print不换行
  7. 嵌入式视频处理基础(四)
  8. Intel 64/x86_64/x86/IA-32处理器标志寄存器详解(2) - 32位EFLAGS - 80386(386, Intel386)/80486(486, Intel486)
  9. 完美解决html中select的option不能隐藏的问题。
  10. 对信号函数sigaction的sa_mask的学习
  11. APT linux必知必会
  12. java取消科学计数法_Jmeter、Java当double显示的数字过长时取消科学计数法显示
  13. C/C++——C++中new与malloc的10点区别
  14. 电子计算机X线体层摄影,电子计算机X线体层摄影检查诊断乳腺肿块的价值
  15. simulink简介
  16. 感谢上天,我被失联2年后,终于活着从东南亚菠菜公司的技术“魔窟”逃出来了......
  17. 【微信小程序】图片选择、转码、压缩、预览、上传,file与base64
  18. 外部无法连接部署在linux上的MongoDB
  19. 传奇人物张三的爱情困境
  20. esp32 spi 驱动 oled 屏显示来自 PC 的画面

热门文章

  1. python3:(unicode error) 'utf-8' codec can't decode
  2. 技术前沿资讯-Apache Flink 1.14 新特性介绍
  3. 使用Excel和TF实现Transformer!
  4. 好的产品经理,应该有什么样的特质?
  5. 牛客网-数据结构笔试题目(三)-博弈论圆圈游戏(Circle Game)(附源码)
  6. perl转python_将行转换为perl或python中的列
  7. lumion自动保存_LUMION吊打MAX,轻松玩转规划渲染!
  8. 教你玩转CSS 伪类
  9. html中使用静态图片做一个csdn网站的首页
  10. 前端初级html\css知识点总结