随笔分类 - jmeter 性能
摘要:在上篇中记录了压力机服务器配置调到了60核120G,但这个配置也是压测结果非常不稳定,同样场景多次压测试通过率与响应时间差异极大。意识到一味的提升配置,改jmeter内存大小 起不到相应的作用。依然绕不开单机压问的问题(1、单机端口不够用 2、带宽不够用 3、负载过高,性能损耗大,延时高,数据不准)
阅读全文
摘要:需要把登陆接口返回的token提取出来,保存到一个文件里给其它接口用。登陆接口响应如下 在登陆接口取样器下添加 "JSON提取器",提取token 在登陆接口取样器下添加"BeanShell 后置处理程序" 代码如下: //指定需要定稿到哪个文件,格式:TXT,CSV FileWriter file
阅读全文
摘要:1、登陆 优化前:12000用户 120秒 99%的请求响应时间在9.8秒内 优化后:12000用户 120秒 99%的请求响应时间在0.3秒内 优化内容:用户表增加了索引 2、创建订单 测试环境优化前后创建订单对比:优化前:1000订单 120秒 99%响应时间为14秒 如下: 优化后优化后:10
阅读全文
摘要:场景要求 1、用户登陆 每个用户登陆一次(仅一次控制器) 2、压测试接口获取门店列表 性能场景指标 1、验证最大在线用户数--(负载测试) 2、错误率<0.5% 3、请求响应时间<2S 4、场景运行时间10分钟--不需要 同步定时器 5、服务器资源使用合理(cpu使用率<80%,内存使用率<80%)
阅读全文
摘要:压测准备 本地开发环境⽣成脚本,上传压测机器 (修改参数化文件路径、请求地址) 内⽹环境,⾮GUI下压测 停⽌其他⽆关资源进程 压测机和被压测机器隔离(避免资源争夺:内存、CPU、磁盘IO、网络IO) 高并发下的jmeter集合点实战 多⽤户并发测试,但真正的并发其实是不存在的,⽤⼯具模 拟并发 ;
阅读全文
摘要:TPS上不去的原因分析(带宽、中间件-缓存、消息队列、线程池、连接池、异步、慢sql、单表数据量过大(目前订单表最多2个多亿条记录)、应用服务器资源、压力机资源): 第一个原因:性能测试是从客户端向服务器发起一个请求,要经过网络传输,所以第一个原因可能是网络瓶颈,例如网络不稳定或带宽不够,那么同一时
阅读全文
摘要:测试计划里 属性“Run Thread Groups consecutively”又为“独立运行每个线程组” 1、勾选 Run Thread Groups consecutively(i.e.one at time),则表示顺序执行。顺序执行,指的是测试计划中存在多个线程组时,第一个线程组执行完后再
阅读全文
摘要:性能测试是什么时候进行测试的 1、产品上线前,要求必须要做性能测试 2、产品上线后,出现了性能问题(比较慢或卡) 3、一些重大的模块/新功能的时候,测试功能模块的性能 压测的情况是怎么样的 1、找出性能问题 2、性能测试报告 ,性能是否达标 实例如下:一个活动页面要求1S支持1000访问量(分析性能
阅读全文
摘要:JDBC连接数据库 1、 下载“mysql-connector-java-5.1.7-bin.jar”并放到“apache-jmeter-5.0\lib”目录下 2、 添加“配置元件->JDBC Connection Configuration” 3、添加jdbc取样器 CSVRead,多个线程时会
阅读全文
摘要:http状态码介绍 1XX: 信息,服务器收到请求,需要请求者继续执行操作 2XX:成功,操作被成功接收并处理 3XX:重定向,需要进一步的操作以完成请求 4XX:客户端错误,请求包含语法错误或无法完成请求 5XX:服务器错误,服务器在处理请求的过程中发生了错误 常见异常状态码: Jmeter断言
阅读全文
摘要:性能指标(重要的指标): TPS(吞吐量):每秒钟处理事务数(QPS每秒请求数),tps越高越好 响应时间: 压测时脚本里不带:查看结果树,只有在调试时用,下面所示,循环次数为永远,调试器里的持续时间设置为20s,就是4个用户循环执行20s,一般压测时需要持续60s 聚合报告里的平均响应时间单位为毫
阅读全文
摘要:安装及配置中文显示: 1、需要本机安装好java环境变量,查看是否安装:java -version;jdk建议安装在默认目录 2、jmeter官网下载,解压即可 3、配置中文显示:修改 apache-jmeter-5.0\bin目录下的 jmeter.properties 文件, language=
阅读全文
摘要:下载:最近在做websock消息的压测试,需要安装websock插件,因此总结plugins-manager下载官网即可https://jmeter-plugins.org/install/Install/ 安装:步骤1:将下载jmeter-plugins-manager-1.3.jar放到目录ap
阅读全文
摘要:第一步:修改Jmeter根目录下的jmeter.properties文件,把编码格式改为utf-8,如下图: sampleresult.default.encoding=utf-8 第二步:添加BeanShell PostProcessor,并加入代码,如下图: 代码如下: String s=new
阅读全文
摘要:一、通过函数助手生成变量及函数字段串 二、先调用一个函数字符串,变量nums里才有值 三、后面的接口都可以使用nums变量了
阅读全文
摘要:工作中过程中断续写过很多jmeter的脚本,很多都用过,但过几个月不用回头再用时还是要去查下。今天把计数器的记录在这里以备查找: 接口测试过程中变量需要生成不重复的正整数序列,于是就想到了计数器. 1、计数器的调用路径:在线程组或取样器 右键->配置元件->计数器 2、计数器常用属性配置 Maxim
阅读全文
摘要:本文讲的是Jmeter实现MD5加密, 在我们使用Jmeter测试的过程中,尤其是接口测试,有时候需要对参数进行MD5加密后再进行操作。 Jmeter自带的就有MD5加密需要使用的到的jar(注意jmeter版本):commons-codec-1.10.j 在我们使用Jmeter测试的过程中,尤其是
阅读全文
摘要:分布式原理:多台机器 一台master机 多台执行机; master机把压测脚本分发给执行机,压测完后master机再汇总结果. (注:master与slave机的jmeter版本必须保持一致) master机器上的准备工作如下: 1、先准备一个调试通过的下单接口; 2、找到jmeter的bin目录
阅读全文