当前位置: 首页 > article >正文

测试相关基础

考虑问题

项目架构是分布式的吗?

用到了缓存和消息队列没有?

高并发的业务有没有特殊处理?

数据库设计是否合理?

系统用到的算法是否还需要优化?

系统是否存在内存泄露的问题?

项目使用的 Redis 缓存多大?服务器性能如何?用的是机械硬盘还是固态硬盘?

测试人员,作出测试表格

  1. 响应时间;
  2. 请求成功率;
  3. 吞吐量;

性能指标

相应时间

响应时间 RT(Response-time)就是用户发出请求到用户收到系统处理结果所需要的时间。

RT 是一个非常重要且直观的指标,RT 数值大小直接反应了系统处理用户请求速度的快慢。

并发数

并发数可以简单理解为系统能够同时供多少人访问使用也就是说系统同时能处理的请求数量。

并发数反应了系统的负载能力。

QPS和TPS

QPS(Query Per Second) :服务器每秒可以执行的查询次数;

TPS(Transaction Per Second) :服务器每秒处理的事务数(这里的一个事务可以理解为客户发出请求到收到服务器的过程);

吞吐量

吞吐量指的是系统单位时间内系统处理的请求数量。

一个系统的吞吐量与请求对系统的资源消耗等紧密关联。请求对系统资源消耗越多,系统吞吐能力越低,反之则越高。

TPS、QPS 都是吞吐量的常用量化指标。

  • QPS(TPS) = 并发数/平均响应时间(RT)
  • 并发数 = QPS * 平均响应时间(RT)

系统活跃度指标

PV

访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录 1 次,多次打开或刷新同一页面则浏览量累计。UV 从网页打开的数量/刷新的次数的角度来统计的。

UV

独立访客,统计 1 天内访问某站点的用户数。1 天内相同访客多次访问网站,只计算为 1 个独立访客。UV 是从用户个体的角度来统计的。

DAU

日活跃用户数量。

MAU

月活跃用户人数。

举例:某网站 DAU 为 1200w, 用户日均使用时长 1 小时,RT 为 0.5s,求并发量和 QPS。

平均并发量 = DAU(1200w)* 日均使用时长(1 小时,3600 秒) /一天的秒数(86400)=1200w/24 = 50w

真实并发量(考虑到某些时间段使用人数比较少) = DAU(1200w)* 日均使用时长(1 小时,3600 秒) /一天的秒数-访问量比较小的时间段假设为 8 小时(57600)=1200w/16 = 75w

峰值并发量 = 平均并发量 * 6 = 300w

QPS = 真实并发量/RT = 75W/0.5=150w/s

后端性能测试工具

Jmeter :Apache JMeter 是 JAVA 开发的性能测试工具。

Galtling :一款基于 Scala 开发的高性能服务器性能测试工具。

ab :全称为 Apache Bench 。Apache 旗下的一款测试工具,非常实用。

前端性能测试工具

  1. Fiddler:抓包工具,它可以修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是 Web 调试的利器。
  2. HttpWatch: 可用于录制 HTTP 请求信息的工具。

http://www.kler.cn/a/531702.html

相关文章:

  • ubuntu磁盘扩容
  • C++11 多线程 锁与条件变量:mutex、lock_guard、unique_lock 和 condition_variable
  • Unity Shader Graph 2D - 跳动的火焰
  • 求职刷题力扣DAY34--贪心算法part05
  • Hive:窗口函数(1)
  • 基于Java的林业盗砍盗伐监测算法研究与实现——读取Shp文件并比较
  • 除了成本核算,还有哪些财务分析工具可以提高工作效率?
  • 信息学奥赛一本通 2113:【24CSPJ普及组】小木棍(sticks) | 洛谷 P11229 [CSP-J 2024] 小木棍
  • 【Leetcode刷题记录】680. 验证回文串 II
  • 解决对axios请求返回对象进行json化时报“TypeError Converting circular structure to JSON“错误的问题
  • 直方图:摄影中的视觉数据指南
  • ANSYS Mechanical APDL打开cdb文件
  • AUTOSAR从入门到精通-【新能源汽车】高压配电管理(PDU/BDU)(二)
  • 使用scikit-learn中的K均值包进行聚类分析
  • 【最长上升子序列Ⅱ——树状数组,二分+DP,纯DP】
  • [论文学习]Adaptively Perturbed Mirror Descent for Learning in Games
  • PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
  • FPGA|IP核PLL调用测试:建立工程
  • 【前端知识】常用CSS样式举例
  • Android开发工作经历整理
  • Vuex状态管理
  • 【漫话机器学习系列】078.如何选择隐藏单元激活函数(How To Choose Hidden Unit Activation Functions)
  • MySQL与Python交互-08
  • Java | CompletableFuture详解
  • 网站快速收录:如何优化网站音频内容?
  • bypass hcaptcha、hcaptcha逆向