首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何确定线程池大小

通常有点年纪程序员或许都听说这样一个说法 (其中 N 代表 CPU 个数) CPU 密集型应用,线程池大小设置为 N + 1 IO 密集型应用,线程池大小设置为 2N 这个说法到底是不是正确呢?...其实这是极不正确。那为什么呢? 首先我们从反面来看,假设这个说法是成立,那我们在一台服务器上部署多少个服务都无所谓了。因为线程池大小只能服务器核数有关,所以这个说法是不正确。...那具体应该怎么设置大小呢? 假设这个应用是两者混合型,其中任务即有 CPU 密集,也有 IO 密集型,那么我们改怎么设置呢?是不是只能抛硬盘来决定呢? 那么我们到底该怎么设置线程池大小呢?...CPU 个数 cat /proc/cpuinfo| grep "processor"| wc -l 总结 合适配置线程池大小其实很不容易,但是通过上述公式和具体代码,我们就能快速、落地算出这个线程池该设置多大...不过最后最后,我们还是需要通过压力测试来进行微调,只有经过压测测试检验,我们才能最终保证配置大小是准确

2.4K10

如何确定线程池大小

通常有点年纪程序员或许都听说这样一个说法 (其中 N 代表 CPU 个数) CPU 密集型应用,线程池大小设置为 N + 1 IO 密集型应用,线程池大小设置为 2N 这个说法到底是不是正确呢?...其实这是极不正确。那为什么呢? 首先我们从反面来看,假设这个说法是成立,那我们在一台服务器上部署多少个服务都无所谓了。因为线程池大小只能服务器核数有关,所以这个说法是不正确。...那具体应该怎么设置大小呢? 假设这个应用是两者混合型,其中任务即有 CPU 密集,也有 IO 密集型,那么我们改怎么设置呢?是不是只能抛硬盘来决定呢? 那么我们到底该怎么设置线程池大小呢?...CPU 个数 cat /proc/cpuinfo| grep "processor"| wc -l 总结 合适配置线程池大小其实很不容易,但是通过上述公式和具体代码,我们就能快速、落地算出这个线程池该设置多大...不过最后最后,我们还是需要通过压力测试来进行微调,只有经过压测测试检验,我们才能最终保证配置大小是准确

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    (七)线程池大小如何确定

    简单说,就是需要大量输入输出,不如读文件、写文件、传输文件、网络请求。 如何确定线程池大小? 线程数不是越多越好。...在《Java并发编程实践》中,是这样来计算线程池线程数目的: 一个基准负载下,使用 几种不同大小线程池运行你应用程序,并观察CPU利用率水平。...给定下列定义: Ncpu = CPU数量 Ucpu = 目标CPU使用率, 0 <= Ucpu <= 1 W/C = 等待时间与计算时间比率 为保持处理器达到期望使用率,最优大小等于...: Nthreads = Ncpu x Ucpu x (1 + W/C) CPU数量是确定,CPU使用率是目标值也是确定,W/C也是可以通过基准程序测试得出。...如果线程池中线程在执行任务时,密集计算所占时间比重为P(0<P<=1),而系统一共有C个CPU,为了让CPU跑满而又不过载,线程池大小经验公式 T = C / P。

    1.5K10

    偏移量、客户区大小、视口大小、滚动大小确定元素大小

    客户区大小指的是元素内容及其内边距所占空间大小。...像textarea、html这些元素,当内容超过所设置宽高后,就会出现一个滚动条,滚动大小计算差不多就是指把元素内容平铺后大小。...(上面两者主要是用于确定内容实际大小) scrollLeft:被隐藏在内容区域左侧像素数。 scrollTop:被隐藏在内容区域上方像素数。...(上面两者既可以确定元素当前滚动状态,也可以设置元素滚动位置) 5、确定元素大小 getBoundingClientRect( )方法,这个方法会返回一个矩形对象,包含4个属性left、top、...right和bottom,给出了元素在页面中相对于视口位置 ①由于ie8及更早版本认为文档左上角坐标是(2,2),而其他浏览器包括ie9则将(0,0)作为起点坐标,所以用函数使用它自身属性来确定是否要对坐标进行调整

    1.4K20

    InputStream和OutputStream思考

    InputStream和OutputStream 当你对IO有了基本概念,接下来要谈就是java语言对IO封装。...看一看InputStream和OutputStream源码,我们发现他们都是抽象类,而不是接口。这个问题值得思考,在这段讲完后笔者会给出自己看法。...write(int b) 这个方法和InputStreamread()方法刚好是相反,写一个字节,虽然入参是int,但是写还是会写一个字节。...还有工程师提供了带读写限制FilterInputStream读实现类,例如我们只希望读取到最多5MB数据,而InputStream可能提供超过5MB数据。...总结 顺着对IO理解,抽象类InputStream和OutputStream源码阅读,特殊实现类FilterInputStream和FilterOutputStream应用。

    85810

    【DL】训练神经网络时如何确定batch大小

    因此在面对神经网络这种容量很大model前,是很有必要深刻理解一下各个超参数意义及其对model影响。 贴心小夕还是先带领大家简单回顾一下神经网络一次迭代过程: ?...由此,最直观超参数就是batch大小——我们可以一次性将整个数据集喂给神经网络,让神经网络利用全部样本来计算迭代时梯度(即传统梯度下降法),也可以一次只喂一个样本(即严格意义上随机梯度下降法,...由此看出,显然在同等计算量之下(一定时间内),使用整个样本集收敛速度要远慢于使用少量样本情况。...当然得益于GPU里面超多核,超强并行计算能力啦。 因此,在工程实际中,从收敛速度角度来说,小批量样本集是最优,也就是我们所说mini-batch。...暂且不说一些很高深理论如“神经网络loss曲面中局部最优点与全局最优点差不太多”,我们就从最简单角度想~ 想一想,样本量少时候会带来很大方差,而这个大方差恰好会导致我们在梯度下降到很差局部最优点

    86810

    从开发到生产上线,如何确定集群大小?

    翻译|毛家琦 校对|秦江杰 在 Flink 社区中,最常被问到问题之一是:在从开发到生产上线过程中如何确定集群大小。这个问题标准答案显然是“视情况而定”,但这并非一个有用答案。...需要考虑关键指标是: 每秒记录数和每条记录大小 已有的不同键(key)数量和每个键对应状态大小 状态更新次数和状态后端访问模式 最后,一个更实际问题是与客户之间围绕停机时间、延迟和最大吞吐量服务级别协议...从 Kafka 消息源消费每条消息大小(平均)为 2 kb。 假设吞吐量为每秒 100 万条消息。要了解窗口运算符(window operator)状态大小,需要知道不同键数目。...这些 source 每秒接收 1000000 条消息,每条消息大小为 2 KB。...Kafka 源也保持一定状态,但与窗口运算符相比,它可以忽略不计。 要了解窗口运算符(window operator)状态大小,需要从不同角度进行查看。

    1.1K20

    卷积神经网络卷积核大小、个数,卷积层数如何确定呢?

    卷积神经网络卷积核大小、卷积层数、每层map个数都是如何确定下来呢?...在达到相同感受野情况下,卷积核越小,所需要参数和计算量越小。 具体来说。卷积核大小必须大于1才有提升感受野作用,1排除了。...而大小为偶数卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。...field大小 CV任务, context window是很重要....所以你对自己模型receptive field大小要心中有数. 这个对效果影响还是很显著. 特别是用FCN, 大目标需要很大receptive field.

    72710

    卷积神经网络卷积核大小、个数,卷积层数如何确定呢?

    卷积神经网络卷积核大小、卷积层数、每层map个数都是如何确定下来呢?...在达到相同感受野情况下,卷积核越小,所需要参数和计算量越小。 具体来说。卷积核大小必须大于1才有提升感受野作用,1排除了。...而大小为偶数卷积核即使对称地加padding也不能保证输入feature map尺寸和输出feature map尺寸不变(画个图算一下就可以发现),2排除了。所以一般都用3作为卷积核大小。...field大小 CV任务, context window是很重要....所以你对自己模型receptive field大小要心中有数. 这个对效果影响还是很显著. 特别是用FCN, 大目标需要很大receptive field.

    17.6K74

    CPU 密集型 和 IO密集型 区别,如何确定线程池大小

    如何确定线程池大小? 线程数不是越多越好。 由于CPU核心数有限,线程之间切换也需要开销,频繁切换上下文会使性能降低,适得其反。 简单总结就是: Ncpu 表示 核心数。...在《Java并发编程实践》中,是这样来计算线程池线程数目的: 一个基准负载下,使用 几种不同大小线程池运行你应用程序,并观察CPU利用率水平。...给定下列定义: Ncpu = CPU数量 Ucpu = 目标CPU使用率, 0 <= Ucpu <= 1 W/C = 等待时间与计算时间比率 为保持处理器达到期望使用率,最优大小等于...: Nthreads = Ncpu x Ucpu x (1 + W/C) CPU数量是确定,CPU使用率是目标值也是确定,W/C也是可以通过基准程序测试得出。...如果线程池中线程在执行任务时,密集计算所占时间比重为P(0<P<=1),而系统一共有C个CPU,为了让CPU跑满而又不过载,线程池大小经验公式 T = C / P。

    15.1K58

    File类基本操作之InputStream字节输入流

    ; /** * 字节输出流:OutputStream,整个IO包中字节输出流最大父类 * 字节输入流:InputStream * * InputStream使用子类FileInputStream...System.err.println("读入数据长度:" + len); System.out.println(new String(b,0,len));//变成字符串输出 //能不能依据文件大小来开辟空间呢...; import java.io.InputStream; //解决依据文件大小来开辟空间 public class InStream3 { /** * @param args */ public...("读入数据长度:" + len); System.out.println(new String(b));//变成字符串输出 } } 仅仅适合知道文件大小输入 package org.mark.streamRW...; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; //仅仅适合知道文件大小输入

    20420

    inputstream类型变量需要关闭吗_input type

    大家好,又见面了,我是你们朋友全栈君。 inputStream作用是用来表示那些从不同数据源产生输入类。...,以便我们可以将他们收集合并到一个流内 6 其他数据源,如internet连接等 每一种数据源都有相应InputStream子类。...另外,FilterInputStream也属于一种InputStream,为”装饰器”(decorator)类提供基类,其中,”装饰器”类可以把属性或有用接口与输入流连接在一起。...单一InputStream 两个InputSream对象或一个容纳inputStream 对象容器Enumeration 作为一种数据源;将其与FilterInputStream 对象相连以提供有用接口...其中, “装饰器”为其他InputStream类提供有用 功能 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    52920
    领券