常见性能指标

  • ‌RPS(Requests Per Second)‌: 每秒请求数,指客户端每秒发出的请求数量。一个 HTTP 请求(无论 GET 还是 POST)就算 1 个 RPS,是最底层的粒度。吞吐率是服务器并发处理能力的量化描述,单位是 reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大的请求数,称之为最大吞吐率。有人把 RPS 说等效于 QPS。其实可以看作同一个统计方式,只是叫法不同而已。RPS/QPS,可以使用 apche ab 工具进行测量。

  • ‌QPS(Queries Per Second)‌: 每秒查询率,最初用于衡量数据库每秒执行的 SQL 查询次数,后来也广泛用于描述接口的查询能力。QPS 偏向“读”操作。

  • ‌TPS(Transactions Per Second)‌: 每秒事务数,指系统每秒能完成多少个完整的业务流程。比如“登录”或“下单支付”从开始到结束才算 1 个事务,强调业务完整性。

  • ‌RT(Response Time)‌: 响应时间,从发起请求到收到响应之间的时间差,通常看平均响应时间或 95% 响应时间。

  • ‌并发数‌:系统同时处理的请求或事务数,不等于在线用户数,通常远小于在线数。

  • ‌吞吐量(Throughput)‌:单位时间内系统处理的请求或事务总量。在没有网络瓶颈时,吞吐量数值上约等于 TPS。

  • HPS(Hits Per Second)‌: 每秒点击数,客户端层面的指标,一次点击可能产生多次 HTTP 请求。

  • CPS(Calls Per Second)‌: 每秒调用数,常用于描述服务层被其他服务调用的次数。‌‌

  • pv (page view): 即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。用户每一次对网站中的每个页面访问均被记录 1 次。用户对同一页面的多次刷新,访问量累计。根据这个特性,刷网站的 PV 就很好刷了。

  • RV (repeat visitors): 即重复访问者数量

  • UV (Unique Visitor): 访问数,指独立访客访问数,统计1天内访问某站点的用户数(以 cookie 为依据),一台电脑终端为一个访客。

  • IP(Internet Protocol): 独立 IP 数,是指 1 天内多少个独立的 IP 浏览了页面,即统计不同的 IP 浏览用户数量。同一 IP 不管访问了几个页面,独立 IP 数均为 1;不同的 IP 浏览页面,计数会加 1。IP 是基于用户广域网 IP 地址来区分不同的访问者的,所以,多个用户(多个局域网 IP)在同一个路由器(同一个广域网 IP)内上网,可能被记录为一个独立 IP 访问者。如果用户不断更换 IP,则有可能被多次统计。

  • GMV (Gross Merchandise Volume) 只要是订单,不管消费者是否付款、卖家是否发货、是否退货,都可放进 GMV 。

Apache JMeter

Apache JMeter™ 应用程序是开源软件,一个 100% 纯 Java 应用程序,旨在加载测试功能行为和测量性能 。它最初是为测试 Web 应用程序而设计的,但后来扩展到其他测试功能。

用途

Apache JMeter 可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。

Apache JMeter 功能包括:

  • 能够加载和性能测试许多不同的应用程序/服务器/协议类型:

    • Web - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,)
    • SOAP / REST Web 服务
    • FTP
    • 通过 JDBC 的数据库
    • LDAP
    • 通过 JMS 的面向消息的中间件 (MOM)
    • 邮件 - SMTP(S)、POP3(S) 和 IMAP(S)
    • 本机命令或 shell 脚本
    • TCP
    • Java 对象

*功能齐全的测试 IDE,允许快速记录测试计划(从浏览器或本机应用程序)、构建和调试。 *CLI 模式(命令行模式(以前称为 Non GUI)/无头模式) 可从任何 Java 兼容操作系统(Linux、Windows、Mac OSX 等)进行负载测试

  • 完整且可随时呈现的动态 HTML 报告
  • 能轻松从最流行的响应格式 HTML 、 JSON 、 XML 或 任何文本格式 中提取数据
  • 完全的可移植性和 100% Java 纯度。
  • 完整的多线程框架允许多个线程同时采样和不同线程组同时采样不同功能。
  • 缓存和离线分析/重放测试结果。
  • 高度可扩展的核心:
    • 可插拔采样器允许无限的测试能力。
    • 可编写脚本的采样器(与 Groovy 和 BeanShell 等 JSR223 兼容的语言)
    • 可以使用 可插入计时器 选择几个负载统计信息。
    • 数据分析和 可视化插件 允许很好的可扩展性和个性化。
    • 函数可用于为测试提供动态输入或提供数据操作。
    • 通过 Maven、Gradle 和 Jenkins 的 3 rd方开源库轻松实现持续集成。

下载

地址:下载地址