大白话高并发(一)

本文介绍了并发量和吞吐量的概念,并通过实例解释了它们之间的关系。同时,阐述了TPS(每秒事务处理数)和QPS(每秒查询量)的区别,强调了在秒杀场景中如何评估系统性能。通过理解这些指标,有助于优化高并发场景下的系统设计和性能调优。
摘要由CSDN通过智能技术生成

背景

虽然日常curd boy,但是也要有点追求,没有场景我们自己造场景,那我就定一个200万并发秒杀的场景吧。

常用术语

1并发量

就是来了多少人啊,比如618,xxx直播间某件商品有100万人秒杀,那并发量就100万,但是不是说你来了100万我就能同一时间全给你处理了,咱们可以10万10万的处理。

2吞吐量

吞吐量是单位时间内系统处理客户请求的数量。说白了就是1秒内能处理多少。

在并发量较低的情况下,吞吐量与并发量成正比,此时后台处理能力充足。当并发量到达一定的数量后,服务器处理能力不足(线程切换),吞吐量反而降低。

比如刚开始并发是10个,每个请求的响应时间是0.01,那吞吐量就是1000,后来加大了并发变成了100请求的响应时间还是0.01那吞吐量就是10000,后来把并发加到了10000每个请求响应时间变成1.1秒,那吞吐量就变成了9000左右。

TPS、QPS

如果说kg是重量的标准,那么TPS就是QPS的衡量标准,你说服务器的吞吐量大,怎么叫大,100qps/s 比 50qps/s 大,有理有据才可以。

TPS:Transactions Per Second(每秒事务处理数),指服务器每秒处理的事务次数。一般用于评估数据库、交易系统的基准性能。
QPS:Queries Per Second(查询量/秒),是服务器每秒能够处理的查询次数,例如域名服务器、接口、Mysql查询性能。

那tps和qps有什么区别呢?
这里引用别人的一个回答:

分享下自己的理解:TPS 也就是 transactions per second,反映的是做一个事情,1s能做多少次。它更关心的是一个事情能够做多少次。比如说,我们转账,A用户向B用户转账,1s 能够支持多少笔这样的操作。以转账举例:支付系统有1个接口,支持A向B转账;账务系统有1接口,支持某个用户减少多少钱。我们正常的转账流程,就是支付系统调用2次账务系统,A用户减钱1次,B用户加钱1次。业务人员不懂这些专业技术词汇,提出需求说就要0点支持10W笔转账操作,那么技术人员一般怎么描述,那就是:

支付系统该转账接口支持 TPS 10W。
账务系统该转账接口支持 TPS 20W。

QPS 也就是 queries per second,字面意思反映的是每秒能够查多少次。因为有这个 query 查询这个单词,无论看 wiki 还是 百度百科,都说的是针对查询的操作,1s能够支持多少次。我觉得提到这些术语主要是要知道他想表达什么。比如你的老大和你说,我们这个转账业务要支持 10W 的 TPS,你要分清楚是整个业务 10W TPS,还是说打到我们系统的接口量就是 10W TPS,因为业务支持的量和调用到我们系统的接口不一定1:1。比如你的同事和你说,我们这个查询接口支持 100W TPS。虽然按照定义来说,用 QPS 来表达更合适,但是你知道他想表达的就是这个接口支持这么多 QPS 就可以了。有人和你吹牛说,系统支持多少多少 QPS。你就可以留个心眼,一般查询操作相对来说还是比非查询操作简单点的,甚至说加缓存后都可能没打到DB,所以也没什么了不起。但是如果说 TPS 的话,一般来说,技术含量还是会相对高些的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值