视频字幕
TPS和QPS是衡量系统性能的两个重要指标。TPS表示每秒事务数,用于衡量系统每秒能处理多少个完整的事务。QPS表示每秒查询数,用于衡量系统每秒能处理多少个查询请求。让我们通过时间轴上的动画来直观理解这两个概念。
事务和查询在本质上有着重要区别。事务是包含多个操作的完整业务单元,具有原子性、一致性、隔离性和持久性等ACID特性。它通常包括开始事务、执行多个操作、最后提交或回滚的完整流程。而查询则是单个的数据读取操作,相对简单直接。事务消耗更多系统资源,执行时间也更长。
让我们通过具体的数据库操作来理解TPS和QPS。对于QPS,典型的例子是SELECT查询语句,比如查询用户信息或产品列表,这些都是单个的读取操作。而TPS的例子则是包含多个步骤的事务,比如用户下单流程:开始事务、插入订单记录、更新库存数量、插入订单明细,最后提交事务。事务确保了所有操作要么全部成功,要么全部失败,保证数据的一致性。
在电商系统中,我们可以清楚地区分QPS和TPS场景。当用户浏览商品、搜索商品信息或查看商品详情时,这些都是典型的QPS场景,因为它们只涉及数据的读取操作。而当用户进行购买时,系统需要执行一个完整的事务流程:首先检查库存数量,然后创建订单记录,处理支付信息,扣减商品库存,最后发送确认通知。这整个购买流程必须作为一个事务来处理,确保所有步骤要么全部成功,要么全部失败,这就是典型的TPS场景。
TPS和QPS的计算方法很直观。TPS等于总事务数除以时间窗口,QPS等于总查询数除以时间窗口。在实际测量中,我们通常使用1秒或1分钟作为时间窗口,统计这个时间段内的操作数量。通过动态图表可以看到,系统的TPS和QPS会随时间波动,我们既要关注平均值,也要关注峰值,这样才能全面评估系统性能。例如,如果1分钟内处理了600个查询,那么QPS就是10。