• 2
  • 0
分享

      沐沐今天想和大家分享一下性能测试过程中一些常见的问题,可以帮助性能学习初学者解决一些小疑惑。

一、性能测试都分为哪些种类?

  1.  负载测试:主要检查被测系统在既定负载下的性能表现,即通过逐步加压的方法,达到既定的性能阈值的目标(阈值的设定应是小于等于某个值,例如cpu<=80%等)。

  2. 压力测试:主要检查被测系统在极端条件下的表现,即通过逐步加压的方法,使得系统的某些资源达到饱和,简言之就是测试什么条件下可以把系统压奔溃。

  3. 并发测试:主要是验证系统的并发处理能力,即在同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。

  4. 基准测试:系统中增加新模块时,需要进行基准测试来判断新模块对整个系统的性能影响。

  5. 稳定性测试:测试系统在一定负载下运行长时间是否会发生问题(例如会进行7*24小时的稳定性测试)。

二、性能测试的流程是什么?

  1.  熟悉系统架构:了解被测系统架构和通讯协议等。

  2. 明确测试范围:服务端(CPU、IO、网络、内存等)、程序接口(并发数、TPS、响应时间、事务成功率等)、数据库(配置参数、表结构、索引、慢查询等)。

  3. 明确测试指标:系统预计承载的用户量、并发用户数、TPS等。

  4. 选择测试工具:JMeter 、locust、Loadrunner、性能测试云平台等。

  5. 准备性能脚本:准备待测接口脚本,基准测试接口的入参、响应、异常测试等是否符合预期。

  6. 设计性能场景:根据实际业务,设计性能测试场景,例如单一场景、混合场景等。

  7. 执行性能脚本:执行脚本,关注TPS、错误率、响应时间等同时监控资源使用率。

  8. 分析测试结果:分析性能测试结果,对性能瓶颈进行调优。

  9. 性能回归测试:性能调优后进行回归测试。

  10.  输出测试报告:根据实际的测试情况,输出性能测试报告。

三、如何估算并发数?

  1. 通常估算并发用户数为在线用户数的10%-20%。

  2. 虚拟用户数=TPS*(runtime+thinktime)。

四、性能测试如何查找系统性能瓶颈?

  1. 服务器硬件瓶颈 。

  2. 网络瓶颈。

  3. 服务器操作系统瓶颈(参数配置)。

  4. 中间件瓶颈(参数配置,数据库,web服务器等)。

  5. 应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)。

五、如何找导致CPU瓶颈的程序?

  1.  系统CPU 利用率高可以关注一下IO(磁盘读写速度),有没有空闲等待,通常CPU利用率高都是IO问题,此时的中端与切换都高。

  2. 用户CPU利用率高,直接用top命令或者htop就可以找到系统进程ID和线程 ID,就可以很快找到对应的程序。

六、如何找到导致IO瓶颈的程序?如何监控IO?

  1. 网络IO监控我们可以监控网络中端、宽带、网络连接数以及网络了连接状态等;常用命令netstat、sar。

  2. 本地磁盘IO我们可以监控有没有IO的非空闲等待,用iostat命令查看。其他常用命令:iotop,sar。

      以上内容是沐沐几年前的学习笔记,已经忘记知识获取来源,但是现在看来还是非要有用,因此分享给大家,尤其是对性能初学者比较有帮忙。接下来的文章,沐沐将持续分享性能测试实战中的一些经验总结。

      The more we share,The more we have.

      希望这篇文章对大家有用...



  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   前言:测试的过程并不是固定的,要灵活的变化  其实测试的过程并不是固定的,它只是一种规范,也可以把它当作一种指导。但是真实的产品测试和项目测试中,一定是要灵活运用的,甚至是在不断的根据实际情况变化。我在其他平台、app上讨论软件测试时,经常提到:项目测试和 产品测试一定是不一样的。  产品测试一定有非常完整的发版计划,有充足的的时间,有充足的资源进行协调,即使因为一些特殊的原因未能按时完成发版计划,也可以进行延期。所以产品测试都会尽量的去进行完成的全级别测试。  项目测试一般时间都非常紧,资源有限,发生意外的情况很多,任务时间都是被极度压缩。到目前为止我经历过大大小小几十个项目,没有一个是...
            10 10 756
            分享
          • 第一章:什么是软件?计算机系统中与硬件相互依存的另一部分。软件包括程序、数据及其相关文档的完整集合。(1)能够完成预定功能呾性能的可执行指令(program)  (2)使得程序能够适当地操作信息的数据结构(data)  (3)描述程序的操作呾使用的文档(document)软件危机的定义?软件在开发和维护过程中遇到的一系列严重问题。软件危机包含两层含义:(1)如何开发软件 (2)如何维护数量不断膨胀的现有软件。软件危机的表现:(1)软件开发的迚度难以控制,经常出现经费超预算、完成期限拖延的现象。 (2)软件需求在开发初期不明确,导致矛盾在后期集中暴露,从而对整个开发 ...
            0 0 1909
            分享
          • 软件测试中什么是冒烟测试?什么时候执行冒烟测试?怎么执行冒烟测试?冒烟测试与回归测试的区别是什么呢?何为冒烟测试?这一术语源自硬件行业,是对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。如果冒烟了,该硬件组件亦为废品。那么在软件测试中,“冒烟测试”这一术语描述的是在将代码更改集成到产品系统中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改是否按预期运行,且不会破坏整个版本的稳定性。简单点就是,发现BUG后开发人员修复BUG后,测试人员针对该BUG进行再次测试。冒烟测试的成功与...
            1 1 2300
            分享
          • 上一篇我们分别介绍了机器学习及机器学习的类型 ,其中机器学习分为监督学习、无监督学习及强化学习,下面我们来了解一下机器学习中的人工神经网络什么是人工神经网络?神经网络的激活函数人工神经网络的结构人工神经元网络示例1. 什么是人工神经网络?ANN 属于机器学习。它是由多个神经元节点组成的计算模型。这些节点接收输入,使用激活函数处理输入并将输出传递到下一层。2. 神经网络的激活函数一个基本的人工神经网络由输入层、权重、激活函数、隐藏层和输出层组成。激活函数用于将输入转换为输出。其中一些是二元、双极、S 型和斜坡函数。人工神经网络中使用的几个常见激活函数是:#1) 身份功能对于 ...
            0 0 938
            分享
          •   据彭博社报道,美国两党参议院都打消了推进TikTok“不卖就禁”法案的念头,从而降低了相关提案成为法律的可能性。  来自康涅狄格州的民主党参议员Richard Blumenthal声称,他并不是反对消除TikTok的影响力,但告诫说提案给出的六个月出售时间太过仓促。  皮尤研究中心去年12月的一项民调显示,38%的美国人支持禁止TikTok,比例低于3月的50%。  在特朗普站出来反对这项禁令后,他的共和党同僚的态度就更加微妙了。  此前,美国前财政部长姆努钦在接受CNBC采访时说:“这是一家伟大的公司,应该由一家美国企业所有。作者:佚名原文链接:国际财闻汇(finance.ifeng.c...
            0 0 636
            分享
      • 51testing软件测试圈微信