• 思考:网络性能优化:网络 -- cpu -- 线程数 -- 单个任务耗时 --- qps --- 并发



    思考:网络性能优化:网络 -- cpu -- 线程数 -- 单个任务耗时 --- qps --- 并发
    如果没有理清楚上述概念和它们之间的关系,那么优化会毫无章法;
    线程越多,利用上的线程越多,cpu的idle会约低,只到cpu低得不能再低,一般情况下,可以可劲用(idle为10%你遇到过吗?),但是要注意你的下游能否能扛得住你转嫁给他们的并发压力呢;
    单个任务处理越快,qps和并发会越高;
    两个线程的并发一定是一个线程的两倍,10个线程的并发一定是2个线程的5倍;
    qps是一秒处理的任务数,这个换算逻辑是:假如一个任务是100ms,有10个线程,那么并发是10,qps是(1000/ 100) * 10 = 100,
    注意,这里是理想情况下的理论换算,理想的意思是每个任务都是100ms,时间不多不少;
    网络都有一个出口,对于请求方来说,出口就是到你的网络服务里面,如果你不接收,或者你接收不了(就那么几个工作线程都还一直忙着呢),那么
    对于请求方来说,就会超时(超过预期时间),你可以先接收,后处理,但是如果你单个任务处理能力没有提升,工作线程没有增多,就算接收也是没用的;
    所以,对于网络服务所在机器的cpu如果idle很低,有两个原因造成的,一个是单个任务的计算量很大,使用了很多的cpu资源,一个是你接收而且确实同时处理了
    大量的并发任务,这些任务并行执行加起来让cpu的idle很低;针对这两种情况,也给了我们解决问题的两个思路:一个是让单个任务处理更高效,耗时更短;一个是
    增加我们的线程数,让更多的线程跑起来,让cpu更加忙碌起来;

  • 相关阅读:
    html5 悬浮提示框
    ajax 接收json
    ajax 发送参数
    jquery无刷新请求ajax
    jQuery 发送 ajax json 请求
    html5 三级联动菜单
    iframe 用法
    html5 复制文字
    bootstrap表单按回车会自动刷新页面的问题
    jquery版本不兼容问题
  • 原文地址:https://www.cnblogs.com/big1987/p/11053925.html
Copyright © 2020-2023  润新知