【Performance】09.性能测试技术历练篇之Java诊断工具Arthas
性能测试工具JMeter合集【Performance】01. 性能测试技术初探篇之性能测试介绍【Performance】02. 性能测试技术初探篇之常用性能测试工具【Performance】03. 性能测试技术初探篇之 JMeter 工具使用【Performance】04. 性能测试技术磨合篇之性能测试场景设计【Performance】05. 性能测试技术磨合篇之脚本录制和调试【Performance】06. 性能测试技术磨合篇之脚本执行和结果分析【Performance】07. 性能测试技术历练篇之性能监控工具【Performance】08. 性能测试技术历练篇之性能分析神器 JProfile【Performance】09. 性能测试技术历练篇之 Java 诊断工具 Arthas
【Performance】08.性能测试技术历练篇之性能分析神器JProfile
分析性能瓶颈
基于Java,层层分析每一个类或方法调用的耗时
性能测试工具JMeter合集【Performance】01. 性能测试技术初探篇之性能测试介绍【Performance】02. 性能测试技术初探篇之常用性能测试工具【Performance】03. 性能测试技术初探篇之 JMeter 工具使用【Performance】04. 性能测试技术磨合篇之性能测试场景设计【Performance】05. 性能测试技术磨合篇之脚本录制和调试【Performance】06. 性能测试技术磨合篇之脚本执行和结果分析【Performance】07. 性能测试技术历练篇之性能监控工具【Performance】08. 性能测试技术历练篇之性能分析神器 JProfile【Performance】09. 性能测试技术历练篇之 Java 诊断工具 Arthas
【Performance】07.性能测试技术历练篇之性能监控工具
1. Linux自带监控工具1.1. top工具top是Linux和类Unix系统中比较常用的系统状态监控工具。他通过动态刷新的交互式视图,直观地展示系统总体信息和各个进程的运行状态信息。在Linux终端直接输入top命令,即可进入top工具状态监控页面。
系统总体信息中每行的含义为:系统运行时间和平均负载、系统当前的进程运行统计、总体CPU或各核心的使用情况、物理内存使用情况、交换空间使用情况。
进程运行状态信息中每列的含义为:进程标识符、进程所属用户、进程优先级、进程优先级调整值、虚拟内存占用量、物理内存占用量、共享内存占用量、内存占用率、进程累计运行时间、进程运行命令。
在系统监控页面中,通过输入不同的参数,可实现交互式的调整监控视图。
按u键,可通过指定用户名,筛选属于该用户的进程状态信息。
按f键,可进行调整视图,自定义视图展示的字段、排序字段。通过上下方向键选择,按空格键切换该字段的展示,按s键确定排序的字段。
按数字1键,可在CPU总体状态和各核心状态之间切换展示。
按e键,可切换内存相关字段的展示单位,切换顺序为:Byte->KB->MB ...
【Performance】06.性能测试技术磨合篇之脚本执行和结果分析
1. 前言在完成性能测试脚本的调试工作之后,就可以进入正式的性能测试脚本执行阶段了。JMeter脚本执行应使用CLI命令行的形式,同时应该禁用不需要的配置元件,避免GUI页面和部分配置元件影响性能测试结果。jmeter -n -t [jmx file] -l [results file] -j [log file] -e -o [Path to web report folder]
JMeter的命令格式以及常用的参数如下表所示,更多参数及含义可通过jmeter -?命令查看。
参数名
含义
参数值示例
-n
以非GUI的形式启动运行
/
-t
指定负载测试脚本的jmx文件路径
D:\Test\PlanDemo.jmx
-l
指定负载测试脚本运行结果的jtl文件路径
D:\Test\result.jtl
-j
指定JMeter运行日志的log文件路径
D:\Test\jmeter.log
-e
表明负载测试结束后生成HTML报告
/
-o
指定负载测试脚本运行生成的HTML报告文件夹路径,路径下非空时会报错,或加-f参数强制清空
D:\Test\WebR ...
【Performance】05-性能测试技术磨合篇之脚本录制和调试
1. 前言 在完成测试场景的设计、确定场景所涉及的业务流程范围之后,就可以开始针对该测试场景,编写性能测试脚本了。不同的测试场景,其业务流程的复杂程度也不尽相同。当某个测试场景包含上百个网络请求时,通过人工编写的方式,显然会增加更多的时间成本,编写过程中也极易出错。 针对如此庞大的业务请求量的测试场景,可利用JMeter非测试元件中的HTTP(S) Test Script Recorder元件,以脚本录制的方式,快速而又便捷的将其全部“收入囊中”。
2. 脚本录制2.1. 测试脚本录制器添加 启动JMeter,在配置元件的Non Test Elements中,选择HTTP(S) Test Script Recorder元件,将其添加到Test Plan下面。
2.2. 脚本录制器监听网络请求 实现脚本录制器监听网络请求的方式有多种,如:修改系统级的网络代理、修改浏览器的网络代理等。由于修改系统级的网络代理,会导致系统所有的网络请求都会被JMeter监听并录制到脚本中,因此,我们使用修改浏览器网络 ...
【Performance】04.性能测试技术磨合篇之性能测试场景设计
1. 前言 性能测试场景设计是执行性能测试的基础,如同功能测试一样,需要先制定测试计划、确定测试范围、测试方法、测试目标、测试介入/退出条件等内容,不至于在执行测试的过程中一头雾水,这样的测试工作才会更有价值。
2. 场景设计 性能测试的场景设计,最直接的参考来源就是项目的技术方案或需求规格说明书,文档中列出了用户对于该项目的性能指标需求,咱们可以简单划分成以下三种场景类型。
序号
场景分类
示例
1
单业务场景
用户登录、文件上传/下载接口等
2
综合业务场景
用户登录+用户开户+用户销户+用户移机+用户改套餐等
3
稳定性场景
7*24小时不间断运行等
2.1. 单业务场景 以文件上传接口场景为例,某项目的该性能需求描述如下:
支持同时100个用户同时上传不大于10M的文本、图像以及pdf文件
2.2. 综合业务场景 综合业务场景的设计并不是简单地将单业务场景合并在一起,它还需要考虑综合业务场景的总并发数、分配给每个业务的并发数、并发用户数的启动策略、综合场景的运行 ...
【Performance】03.性能测试技术初探篇之JMeter工具使用
1. 安装配置及启动
jmeter软件包可在Apache官网进行下载,官网地址如下,选择二进制文件(Binaries)进行下载后解压即可,无需安装步骤。
1https://jmeter.apache.org/download_jmeter.cgi
在启动jmeter之前,需要确保电脑已正确安装并配置Java环境(建议Java8+),否则将无法启动。
jmeter执行程序在解压路径内的bin目录下,windows与Linux/macOS环境的启动方式有所不同,如下说明。
Windows: 通过文件管理器进入apache-jmeter-5.4.3\bin路径,双击jmeter.bat即可(具体路径自行替换)。linux/macOS:通过终端,执行命令cd apache-jmeter-5.4.3\bin && ./jmeter.sh即可(具体路径自行替换)。
如上所说,无论是windows还是Linux/macOS,想要运行jmeter,就必须进入jmeter执行程序所在目录下,否则终端将会“无法找到此命令”等提示信息。因此,若要在终端内的任何路径下都能通过一条 ...
【Performance】02.性能测试技术初探篇之常用性能测试工具
1. 常用的性能测试工具
序号
工具名称
下载地址
说明
1
LoadRunner
LR官网
LoadRunner是业界公认的权威性能测试工具,支持广泛的协议,能够模拟百万级的并发用户,是进行性能测试的最强有力的“帮手”。
2
JMeter
Jmeter官网
开源的负载测试工具,在互联网公司中十分流行,由Java语言编写。可用于接口、文件传输、数据库连接查询、ftp服务操作等资源的性能测试,通过模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。
3
Postman
Postman官网
Postman除了常用的接口测试之外,也可以用于性能测试。在配置Run collections时, 通过设置接口的迭代次数,测试数据文件等信息,运行后即可查看运行报告和运行结果。
4
iPerf
iPerf官网
一般用于测试网络性能,如TCP/UDP带宽质量、网络延迟、数据包丢失等。
2. 优缺点比较
工具名称
优点
缺点
LoadRunner
1.支持上万级别的多用户并发能力2.测试结果分析报表详细3.针对具有IP访问限制的系统软件,提供IP欺骗功能
1 ...
【Performance】01.性能测试技术初探篇之性能测试介绍
1. 引子 性能测试在软件的质量保证中起着重要的作用。性能测试从软件系统的响应速度、效率、资源使用等方面对软件系统的质量进行度量。随着社会对互联网应用系统的不断深入,对性能测试的需求也越来越迫切。作为软件测试工程师,掌握必要的性能测试基础知识和测试工具的使用,不仅能够提升自我技术能力的竞争力,也能够在日常工作中,灵活运用各种工具来提升工作效率。
2. 常见的性能瓶颈 常见的性能瓶颈,可以分别从硬件、软件上进行划分。硬件上的性能瓶颈包括:CPU、内存、磁盘I/O、网络等;软件上的性能瓶颈则包括:支持软件如中间件配置、容器配置、数据库I/O等,项目软件如响应时间、吞吐量、异常处理等。
2.1. CPU 程序的运行离不开CPU的计算和指令,它们会长时间、不间断地占用CPU资源,当所运行的计算数量超过了CPU的容量时,就会导致性能问题。一般地,如果在程序运行时,CPU利用率持续并达到了90%及以上,那么就可以认为,CPU出现了性能瓶颈。
2.2. 内存 Java程序一般通过JVM对内存进行分配管理,但可能 ...
【信管备考知识点】第6章-项目进度管理
考试核心:十大项目管理之一针对题型:论文写作备考重点:每个管理包含的过程及定义,每个过程的输入、输出、工具、技术。
1. 概述 项目进度管理包括为管理项目按时完成所需的7个过程,具体为:
规划进度管理
定义活动
排列活动顺序
估算活动资源
估算活动持续时间
制定进度计划
控制进度
2. 项目进度管理过程
规划项目进度管理:是为实施项目进度管理制定政策、程序,并形成文档化的项目进度管理计划的过程。本过程的主要作用是:如何在整个项目过程中管理、执行和控制项目进度提供指南和方向。
进度管理计划:可以是正式的或非正式的,非常详细的或高度概括的。
定义活动过程:识别和记录为完成项目可交付成果而需采取的所有活动。其主要作用是:将工作包分解为活动,作为对项目工作进行估算、进度规划、执行、监督和控制的基础。
活动清单:是一份包含项目所需的全部活动的综合清单。
活动属性:是活动清单中的活动描述的扩展。活动属性包括活动标识、WBS标识和活动标签或名称。
排列活动顺序:是识别和记录项目活动之间的关系的过程。其主要作用是:定义工作之间的逻辑顺序,以便在既定的所有项目制约因素下获得 ...