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

big1987 big1987     2022-12-21     256

关键词:


思考:网络性能优化:网络 -- 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更加忙碌起来;

如何突破单库性能瓶颈?

...务器通常是从CPU、内存、磁盘三个角度进行硬件优化的,网络方面取决于实际负载,建议使用万兆网络。CPU首先讲下从CPU角度进行优化。 MySQL对于CPU的运行需求各个版本均有不同,在MySQL5.1版本以前对多核支持弱,近乎单核... 查看详情

网站性能优化

...性能指标:系统负载,内存使用,CPU使用,磁盘使用以及网络I/O等前端优化方法  1、减少HTTP请求:通过将多个前端资源合并成一个实现减少HTTP请求提高性能。  2、设置响应头字段是部分及时性要求不高的静态资源在缓存... 查看详情

node.js性能优化

微信公众号:[前端一锅煮]一点技术、一点思考。问题或建议,请公众号留言。Node.js作为后台服务性能是非常关键的一点,而影响Node.js的性能不仅仅要考虑其本身的因素,还应该考虑所在服务器的一些因素。比如网络I/O、磁盘I/... 查看详情

性能监控-cpu内存上下行网速线程(代码片段)

需求:整机cpu,内存,网络流量;每个服务占用cpu,内存,线程数publicclassCPUpublicvoidRun()stringname="Service";//Process[]p=Process.GetProcesses();Process[]p1=Process.GetProcessesByName("tService");PerformanceCountercpuCounter 查看详情

性能问题核对清单

...过10(ms),那么说明磁盘太慢或是磁盘过载。windows: 网络传输量高网络连接数满了mong 查看详情

如何查看cpu核心数和线程数?

...左键点击启动任务管理器。2、然后点击任务管理器的“性能”选项。在“性能”选项的“cpu使用记录”项中有几个方框就说明cpu有几个线程。cpu线程数不一定等于cpu的核心数,因为有些cpu采用了超线程技术,一个核心可以有两... 查看详情

性能测试面试灵魂问答

...个核心原理是什么?1.基于协议。性能测试的对象是网络分布式架构的软件,而网络分布式架构的核心是网络协议2.多线程。人的大脑是单线程的,电脑的cpu是多线程的。性能测试就是利用多线程的技术模拟多用户去... 查看详情

怎么利用好cpu?

...线程池中才能压榨cpu,使得其飙升吗?那么,长慢(比如网络IO等等,造成cpu空闲,但是又不能做其他事情,那么,这种情况能不能增加线程池个数来优化一点呢)的任务放到线程池中能让cpu飙升吗?cpu是10核,那么线程池设置... 查看详情

工作线程数究竟要设置多少

...用。 不止sleep()函数,在进行一些阻塞调用时,例如网络编程中的:阻塞accept(),等待客户端连接阻塞recv(),等待下游回包都不占用CPU资源。 问:单核CPU,设置多线程有意义么,是否能提高并发性能?答:即使是单核,使... 查看详情

linux性能优化思路工具案例

...哪优化?什么时候需要优化linux? cpu、内存、磁盘、网络之间的影响关系 linux系统参数 分析优化--cpu 分析优化--内存 分析优化--磁盘 分析优化--网络  案例  查看详情

关于kafka部署优化的一点建议

网络和IO线程配置优化配置参数num.network.threads:Broker处理消息的最大线程数num.io.threads:Broker处理磁盘IO的线程数优化建议一般num.network.threads主要处理网络io,读写缓冲区数据,基本没有io等待,配置线程数量为cpu核数加1num.io.thre... 查看详情

半同步半异步高性能网络编程

网络编程的模式分为3种:1.nginx的全异步方式,使用epoll处理网络数据。对于请求的处理也全然是异步的。不论什么一个请求的处理假设花费了较长时间,那么nginx进程就会被处理操作堵塞,导致无法处理IO事件2.简单的一个连接... 查看详情

freeradius性能优化

...的方案处理,radius认证报文,自己内部维持一个状态机。网络模型为监听1812的认证端口,以及1813的计费端口。http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动摄像头驱动tcpip网络协议栈、netfilter、bridge好像看... 查看详情

如何查看cpu核心数和线程数?

...数,可以看到线程。参考技术A打开任务管理器---选择“性能”,如下图所示。在“CPU”这一栏就能看到电脑的CPU信息。台式机(AMD平台)性能如何优化¥2.99电脑调修-专家1对1远程在线服务¥38路由器的选购、设置与进阶玩... 查看详情

性能优化总结原创

常用观测性能指标处理能力,吞吐量、响应时间、并发连接数主机指标,cpu、内存、硬盘、IO数据库指标,cpu、内存、硬盘、IO、命中率、用户连接数JAVA后台分析问题方法Java方面主要是从两方面分析线程threaddump:使用jstack内存... 查看详情

linux-linux系统优化思路(代码片段)

文章目录影响Linux性能的因素CPU内存磁盘I/O性能网络宽带操作系统相关资源系统安装优化内核参数优化文件系统优化应用程序软件资源系统性能分析工具vmstat命令iostat命令sar命令系统性能分析标准小结影响Linux性能的因素CPUCPU是... 查看详情

谷歌计算引擎提高单线程性能

】谷歌计算引擎提高单线程性能【英文标题】:GoogleComputeEngineincreaseperformanceforsinglethread【发布时间】:2019-07-1102:28:07【问题描述】:我有一个受cpu限制的单线程进程。顶部显示负载大于一。在考虑成本的情况下增加CPU吞吐量的... 查看详情

性能优化之基础资源cpu&内存(jvm)

...及操作系统处理后的一些基础资源。主要包括cpu内存磁盘网络线程本章会介绍这些资源的一些原理,介绍如何查看资源的数量,使用情况,对性能和整体计算机执行的一些影响。本章很多内容都基于linux,不是特殊说明,就是针... 查看详情