现在这个年代,你要是不懂高并发,你都不好意思说自己是搞互联网的!
一、什么是并发,什么是高并发
并发,两个及以上的行为一起发生,比如你一边吃饭一边看电视
高并发,多个行为(至于是多少,这个没有定数,你可以认为是100,1000)一起发生
二、要多久才能处理完这些请求
首先,我们需要明确两个基本点
1、处理每个请求需要耗费时间,哪怕时间很短
2、服务资源是有限的,不能一次性处理全部请求
我们可以假定总并发请求数量为10000,每个请求的处理时间为t秒,服务器一次性可以处理的请求数量为n个,那么处理完所有的请求需要用时为T
T = (10000 / n ) * t
由此可知,如果一次性可以处理10000个请求,那么总耗时只需要t秒
如果一次性可以处理1000个请求,那么总耗时需要10t秒
。。。
三、什么是QPS
一秒内可以处理的请求数量称之为服务器的QPS。
上面我们计算了10000个请求的耗时,那么反过来计算每秒处理多少请求则
QPS = (1 / t ) * n
如果一次性可以处理100个请求,每个请求耗时100毫秒,则qps = 1000
如果一次性可以处理50个请求,每个请求耗时200毫秒,则qps = 250
所以QPS与单个请求处理时间以及服务器一次性可以处理多少请求是成比例关系的。
四、如何提高QPS
理论上很简单,最大化提高服务器一次性可以处理的请求数量,最大化提高单个请求的执行速度。
五、单机QPS的上限是多少呢?
说到单机,你必须明确指出硬性指标,CPU、内存、硬盘、带宽等
假定 CPU为4核、内存8G、硬盘7200转、带宽10M
来源:51CTO
作者:沙耶博士
链接:https://blog.51cto.com/12008764/2140297