一、性能测试注意点

1. 用jmeter测试时使用BeanShell脚本获取随机参数值,会导致请求时间过长,TPS过低。应改为使用csv读取参数值,记录的TPS会更加准确。

注:进行性能测试时,应注意会影响请求时间的操作,尽量避免因为测试方法不当影响测试结果。

2. 进行稳定性测试前,尽量对Jmeter进行减负,避免运行时间过长,导致Jmeter卡死。

减负方式:

(1)参数写死或者直接读取csv的数值,减少程序负荷

(2)并发线程不要设置太高,设置200以下

(3)“察看结果树”勾选“仅日志错误”,尽可能减少jvm内存使用

(4)可添加“Simple Data Writer”且保存为csv格式数据

(5)其他监听组件可以都禁掉,通过保存的数据线下生成图标报告

3. 注意如果服务重启后,PID会发生变化,通过命令行方式收集CPU、内存使用数据时,要使用最新的PID进行采集:

ps -ef | grep test  查询进程号,test为服务名关键字

top -b -d 1 -p 34012 > 1117_log  其中34012为PID,1117_log为需要记录的日志名(不存在会自动新建文档)

4. 如果勾选了CPU等监听组件,需要先启动代理服务:

cd ../tmp/ServerAgent-2.2.3

执行./startAgent.sh

5.使用jp@gc - PerfMon Metrics Collector性能测试工具时,要在运行压力测试前开启性能监控,否则可能会造成压力测试期间的性能测试数据缺失而造成性能分析不准确。

6. 进行压力测试时,逐步增加并发量,直至能够明显看出性能瓶颈为止

二、性能指标分析

聚合报告各项性能指标

聚合报告常用指标

Label

每个JMeter的element(例如 HTTP Request)都有一个Name属性,这里显示的就是Name属性的值

Samples

请求次数(=线程数*循环次数)

Average

平均响应时间

Median

中位数,也就是50%用户的响应时间

90% Line

90%用户的响应时间

95% Line

95%用户的响应时间

Min

最小响应时间

Max

最大响应时间

Error%

本次测试中出现错误的请求的数量/请求的总数

Throughput

吞吐量——默认情况下表示每秒完成的请求数(Request per Second)

KB/Sec

每秒从服务器端接收到的数据量

接口性能测试指标一般通过标准:

 

性能测试指标通过标准

需满足的并发数
(举例:每天8W用户访问,平均在线时长10分钟,1天用户24小时内使用系统)
C = 80000 * 0.166/24=553
注:0.166为10/60得出

C = nL/T
C^= C + 3*根号C 
其中C为平均并发用户数,n为login session的数量,L是login session的平均长度,T是值考察的时间长度
C^为并发用户数峰值

需要满足的TPS
TPS = (80000*80%)/(20%*8*60*60)=11/sec

根据二八原则:
20%常用时间,满足80%业务量
TPS = n*80%/(20%*活跃时间*60*60)
注:活跃时间一般为8小时

响应时间

根据在并发情况下的响应时间2/5/10原则,最长不能超过10s

错误率

具体系统具体要求,一般小于万分之一

缓存命中率

具体系统具体要求,一般大于85%通过

CPU占用率

70% 好,85% 坏,90%+ 很差

内存使用率

一般小于80%通过

使用Jmeter性能测试注意点的更多相关文章

  1. 基于webdriver的jmeter性能测试-通过jmeter实现jar录制脚本的性能测试

    续接--基于webdriver的jmeter性能测试-Eclipse+Selenium+JUnit生成jar包 在进行测试前先将用于支持selenium录制脚本运行所需的类包jar文件放到jmeter ...

  2. Jmeter性能测试入门(链接收藏)

    Jmeter性能测试入门: http://www.cnblogs.com/TankXiao/p/4045439.html

  3. Jmeter性能测试入门(转)

    出处:http://www.cnblogs.com/by-dream/p/5611555.html Jmeter性能测试步骤 1. 添加线程组之后,先设置这两项: 2. 添加一个http请求 被测的u ...

  4. Jmeter学习一:Jmeter性能测试环境搭建(Windows下)

    最近刚开始接触Jmeter性能测试,现总结环境搭建如下: 一.windows安装JDK步骤与环境变量配置: 1.先将下载的JDK安装到其默认目录:C:\Program Files\Java\jdk1. ...

  5. Jmeter性能测试

    Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的 ...

  6. JMeter性能测试,完整入门篇

    1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,也越来越流行成为了主流的性能测试工具 ...

  7. 【转载】Jmeter 性能测试入门

    [转载]Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...

  8. 01 jmeter性能测试系列_Jmeter的体系结构

    深圳文鹏教育jmeter 性能测试讲义 概念 元件:元件代表jmeter工具菜单中的一个子菜单,比如HTTP请求.事务控制器.响应断言等: 组件:一组元件的集合(一个或者多个),比如逻辑控制器中有事务 ...

  9. 【Jmeter自学】Jmeter性能测试(四)

    ==================================================================================================== ...

  10. 一篇文章入门Jmeter性能测试【经典长文】

    孟船长  目录 1.性能测试定义2.为什么要做性能测试3.性能测试指标.性能测试分类4.Jmeter性能测试实战[入门级]5.参考文章链接 1.性能测试定义 百度&知乎 性能测试是通过自动化的 ...

随机推荐

  1. 转载: utm坐标和经纬度相互转换

    原文地址: https://blog.csdn.net/hanshuobest/article/details/77752279 //经纬度转utm坐标 int convert_lonlat_utm( ...

  2. Eclipse集成spring-tool-suite(STS)

    1.官方下载 sts是spring官方在eclipse基础上加了很多插件之后封装的开发工具.sts与eclipse完全一样,但是多了很多插件,比如maven,使用起来更加方便.如果使用eclipse自 ...

  3. 第二篇.1、python基础之数据类型与变量

    一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...

  4. 2019.9.27PHP基础

    PHP 基础语法规范: 1 <?php 开头 ?>结尾 2 php可以单独存在也可以和html等结合使用 3后缀名一般以.php结尾 php4,php5,php6,php7,phtml. ...

  5. Powershell - 获取服务器启动时间

    www.orangeisland.cn 使用以下命令,直接获取服务器启动时间: 通过以下脚本,批量获取服务器的启动时间: $TextPath = "C:\Users\admin\Deskto ...

  6. IDA Pro - 使用IDA Pro逆向C++程序

    原文地址:Reversing C++ programs with IDA pro and Hex-rays 简介 在假期期间,我花了很多时间学习和逆向用C++写的程序.这是我第一次学习C++逆向,并且 ...

  7. XP系统登录界面,需要手动点击用户帐户后才会出现输入密码的界面

    问题描述XP系统,用户帐户设置有密码.用户表示之前启动到系统登录界面,会直接出现输入密码的对话框(见图一):现在启动到登录界面只看到用户帐户信息,需手动点击用户名后才能出现输入密码的界面,用户感觉不方 ...

  8. Python核心技术与实战——二十|Python的垃圾回收机制

    今天要讲的是Python的垃圾回收机制 众所周知,我们现在的计算机都是图灵架构.图灵架构的本质,就是一条无限长的纸带,对应着我们的存储器.随着寄存器.异失性存储器(内存)和永久性存储器(硬盘)的出现, ...

  9. [uboot] (第三章)uboot流程——uboot-spl代码流程 后续2018版本分析

    board_init_f在/u-boot-2018.07-fmxx/arch/arm/mach-fmxx/spl.c中定义 board_init_f之后,和转载的部分有出入: u-boot-2018. ...

  10. 关于session失效的问题(内网IP与外网IP)

    参考: 测试环境测试支付宝支付,以ip方式访问,而支付宝支付成功后回调地址配置的是域名形式的.造成支付成功后访问成功页面进入了登录页面 同一个网站,通过域名登录和通过IP登录,所产生的session是 ...