一、QPS (每秒查询率)(Query Per Second)
QPS:
例:
假如我们一天有10万pv(访问量),
公式 (100000 * 80%) / (86400*20%) = 4.62 QPS(峰值时间的每秒请求)
公式原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。
那我们还可以转一下公式算出我们需要的机器数量
** 机器:峰值时间的每秒请求 / 单台的QPS = 机器数量 **'
二、吞吐量(Throughput) TPS
Request Per Second
吞吐量是指系统在单位时间内处理请求的数量。
如果是对一个查询接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么tps=qps,否则,tps≠qps
如果是容量场景,假设n个接口都是查询接口,且这个接口内部不会再去请求其它接口,qps=n*tps
三、并发用户数
并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。
- 并发:一段时间访问的大量用户的请求
- 并行:同一时刻的大量用户的请求
四、微服务中的熔断机制
五、
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。
缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限流。