CPU密集型

每一个CPU核心都参与计算,将CPU的性能充分利用起来,这样才算是没有浪费服务器配置,如果在非常好的服务器配置上还运行着单线程程序那将是多么重大的浪费。对于计算密集型的应用,完全是靠CPU的核数来工作,所以为了让它的优势完全发挥出来,避免过多的线程上下文切换,比较理想方案是:

线程数= CPU核数

IO密集型

对于IO密集型的应用,就很好理解了,我们现在做的开发大部分都是WEB应用,涉及到大量的网络传输,不仅如此,与数据库,与缓存间的交互也涉及到IO,一旦发生IO,线程就会处于等待状态,当IO结束,数据准备好后,线程才会继续执行。因此从这里可以发现,对于IO密集型的应用,我们可以多设置一些线程池中线程的数量,这样就能让在等待的这段时间内,线程可以去做其它事,提高并发处理效率。

那么这个线程池的数据量是不是可以随便设置呢?当然不是的,请一定要记得,线程上下文切换是有代价的。目前总结了一套公式,对于IO密集型应用:

线程数= CPU核心数/(1-阻塞系数)

阻塞系数: 阻塞系数越高表明在准备数据的时间越长(阻塞时间长)。

即阻塞系数 = 阻塞时间 /(阻塞时间 + 计算时间) 如总时间 10    阻塞9 计算1 及阻塞系数=9/(9+1)=0.9

一般情况下线程数 计算型=Ncpu+1       IO型=2Ncpu

io密集服务器cpu性能,IO密集型和CPU密集型 线程数的计算相关推荐

  1. 服务器双cpu性能强不,双CPU的电脑用起来,性能和功耗都是原来的两倍?

    双u平台诞生于十几年前,不仅存在具有相同芯片组的双u平台,而且存在具有不同芯片组的两个平台.可以同时插入两个Intel CPU接口.恐怕您还没有考虑这一点.两个内存该库的双通道性能更好,两个硬盘库的R ...

  2. CPU性能提升:多核CPU

    半导体工艺和架构是提升CPU性能的双驾马车,CPU的发展史,其实就是处理器架构和半导体工艺交互升级,协同演进的发展史.半导体工艺采用更先进的制程,晶体管尺寸变小了,芯片面积降低了,CPU的主频就可以做 ...

  3. python虚拟cpu性能_基于Tensorflow:CPU性能分析

    iostat iostat用于输出CPU和磁盘I/O相关的统计信息. 命令格式: 1)显示所有设备负载情况 指令: iostat -m 2 5 cpu属性值说明: %user:CPU处在用户模式下的时 ...

  4. 手机cpu性能天梯图2022 手机cpu性能排行2022 手机cpu哪个好

    一.2022手机CPU性能综合排名 1.型号:苹果A16 -综合分数:暂无 2.型号:骁龙8 gen 1 -综合分数:4233 3.联发科天玑9000 -综合分数:3872 2022年买哪个手机最好这 ...

  5. 20线程测试cpu性能软件,3DMark推出CPU专用测试工具CPU Profile,可对比不同线程下的CPU性能...

    拼 命 加 载 中 ... 其实3DMark的各个测试里面都混有一个物理测试,这个测试其实就是跑CPU的,我们在测试CPU时也经常单独跑这个物理测试,现在3DMark推出了一个专门跑CPU性能的测试- ...

  6. CPU的个数,核心数,线程数

    CPU 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数(线程数) = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 CPU的个数 CPU 的个数即CPU芯片的个数,对与 ...

  7. java cpu个数_cpu个数、核数、线程数、Java多线程关系的理解

    一 cpu个数.核数.线程数的关系 cpu个数:是指物理上,也及硬件上的核心数: 核数:是逻辑上的,简单理解为逻辑上模拟出的核心数: 线程数:是同一时刻设备能并行执行的程序个数,线程数=cpu个数 * ...

  8. io密集服务器cpu性能,线程池中CPU密集型和IO密集型选择

    cpu密集型:cpu使用率较高(也就是一些复杂运算,逻辑处理),所以线程数一般只需要cpu核数的线程就可以了.这一类型的在开发中多出现的一些业务复杂计算和逻辑处理过程中. IO密集型:cpu使用率较低 ...

  9. IO密集型和CPU密集型程序-概念与实现

    欢迎关注笔者的微信公众号 概念 在计算机科学中,有两种不同类型的程序:IO 密集型和 CPU 密集型.这两种程序的主要差别在于它们在执行任务时瓶颈所在的地方. IO 密集型:这类程序主要通过读写磁盘文 ...

最新文章

  1. 《人工智能爱好者俱乐部》祝大家元旦快乐!
  2. OpenCV图像处理实际案例(一)---图像倾斜矫正(仿射变换)和去边(轮廓查找+ROI提取)
  3. ASP.NET发送电子邮件
  4. [C++11]final关键字的使用
  5. [转载] python基础入门二
  6. [BZOJ3173][Tjoi2013]最长上升子序列
  7. uc3842开关电源电路图_详解6款简单的开关电源电路设计原理图
  8. 安卓添加滚轮代码_[按键精灵手机版教程]安卓实战——制作天天酷跑脚本(2)...
  9. mysql 只开放某个表_MySQL只恢复某个库或某张表
  10. sql删除表中各类重复数据
  11. 三大协议NetBEUI和 IPX/SPX TCP/IP
  12. [ERP/鼎捷E10][存货管理]存货周转率/库存周转率
  13. EditPlus中配置JSON格式化功能
  14. 3分钟在线开通优惠费率的微信支付商户号(商户收款码)
  15. 理解Netflow工作原理
  16. 计算机入门 零基础,电脑新手入门指南——零基础一分钟入门电脑硬件
  17. 【转贴】北大学生对一MM征婚广告经典回复
  18. tensorflow的数据类型
  19. 流行音乐网站 /音乐网站
  20. 帝国CMS教程,使用灵动标签调用上一篇下一篇的文章标题图片的方法

热门文章

  1. Java面试--Java内存模型
  2. X86 Latency
  3. mysql for mac 10.12_mac 10.12 版本 安装mysql - sylvia的博客
  4. 叮!您有一份工作汇报请查收
  5. SWPU-DS)若有 n 阶对称矩阵 A,以行序为主序方式,将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在 B 中确定 a[i, j](i<j)
  6. TMS320F28335调用官方库进行FFT频谱分析
  7. Mac的MSFCould not find rake-xxx in any of the sources报错和重新安装
  8. GTO、GTR、MOSFET和IGBT的区别及应用
  9. angular基础创建组件报错Is it missing an @NgModule annotation
  10. OLED显示屏与Arduino接口