zoukankan      html  css  js  c++  java
  • 10-创建多少线程数才是合适的

    1、为什么要使用多线程?

    性能的核心指标:

    延迟,指的是发送请求到收到响应的过程的耗时。延迟越短,程序执行时间越短,性能越好。

    吞吐量,指的是单位时间能够处理的请求数。吞吐量越大,意味着程序能处理的请求越多,性能也就越好。

    所以,要提升性能,就是要  降低程序的延迟。提高程序的吞吐量。

    两个方向:1.优化算法 2.将硬件的性能发挥到极致,具体来讲,就是要提升硬件的利用率,再具体的讲,就是要提升 I/O利用率和CPU利用率。

    2、不同的场景工程上有不同的线程数经验值

    CPU密集型:最佳线程数=CPU核数+1

    I/O密集型:最佳线程数=CPU核数 *(1+(I/O耗时 / CPU耗时))

    不过,定性的io密集或者cpu密集很难在定量的维度上反应出性能瓶颈,而且公式上忽略了线程数增加带来的cpu消耗,性能优化还是要定量比较好,这样不会盲目,比如io已经成为了瓶颈,增加线程或许带来不了性能提升,这个时候是不是可以考虑用cpu换取带宽,压缩数据,或者逻辑上少发送一些。经验值在大部分应用环境是合理的,是积累了一些调优经验后给出的方案,没有特殊需求,初始值我会选大家都在用的标准。

  • 相关阅读:
    HTML5/CSS3速成教程
    ECMAScript5.1
    HTML5新特性有哪些,你都知道吗
    如何写出兼容性很好的页面
    数据库三个范式详解
    UML入门
    前端总结·基础篇·CSS(一)布局
    常用的14种HTTP状态码速查手册
    传输层协议TCP和UDP
    js获取地址栏参数
  • 原文地址:https://www.cnblogs.com/bbsh/p/11714685.html
Copyright © 2011-2022 走看看