zoukankan      html  css  js  c++  java
  • TPS和QPS的区别

    TPS

    TPS:Transactions Per Second,意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。

    以单接口定义为事务为例,每个事务包括了如下3个过程:

      a.向服务器发请求

      b.服务器自己的内部处理(包含应用服务器、数据库服务器等)

      c.服务器返回结果给客户端

      如果每秒能够完成N次这三个过程,tps就是N;

    如果多个接口定义为一个事务,那么,会重复执行abc,完成一次这几个请求,算做一个tps。

    QPS

    QPS:Queries Per Second,意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数),显然,这个不够全面,不能描述增删改,所以,不建议用qps来作为系统性能指标。

     

    区别

    如果是对一个查询接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么tps=qps,否则,tps≠qps

    如果是容量场景,假设n个接口都是查询接口,且这个接口内部不会再去请求其它接口,qps=n*tps

    jmeter聚合报告中,Throughput是用来衡量请求的吞吐量,也就是tps,tps=样本数/运行时间

    如果没有定义事务,会把每个请求作为一个事务

    个人建议

    QPS是Query Per Second,是数据库中的概念,每秒执行条数(查询),被引申到压测中来了,但是不包括插入、更新、删除操作,所以不建议用qps来描述系统整体的性能;

    建议用tps,这个t,你可以随意的定义,可以是一个接口,也可以是一个业务流程等等。

  • 相关阅读:
    谈谈 在 .Net 生态里为什么没有 Hadoop 系列 ?
    谈谈在 .Net 平台上的 软件生态 和 软件生产力
    我发起了一个 用 物理服务器 和 .Net 平台 构建云平台 的 .Net 开源项目
    推荐一个 基于 WebSocket 和 Redis 的 即时通信 开源项目
    漫谈 12306 架构
    在提交代码的时候分支上出现detached head
    地铁线路查询算法
    .NET 动态脚本语言
    Socket连接池
    比较JqGrid与XtraGrid
  • 原文地址:https://www.cnblogs.com/wangjunjiehome/p/14313249.html
Copyright © 2011-2022 走看看