随笔分类 -  性能测试

摘要:一、问题原因 用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误。 原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JVM管理,当内存回收不及时,堆内存不足时,就会报内存溢错误。 概念补充: 内存泄露:应用使用资源之后没 阅读全文
posted @ 2024-05-05 15:30 风吹稻香 阅读(999) 评论(0) 推荐(0) 编辑
摘要:第一种方式:根据计算公式算出 计算平均的并发用户数: C = nL/T 并发用户数峰值: C’ ≈ C+3*根号C 例如,项目中预计用户有15w人,每日最大访问人数预估为5w人,一个用户的填报时间设置为10分钟,在一天时间内,用户预计在8小时内使用该系统。 利用上述公式我们可以得到平均的并发用户数C 阅读全文
posted @ 2024-03-06 16:34 风吹稻香 阅读(547) 评论(0) 推荐(0) 编辑
摘要:【背景】 最近在做一个系统的性能压测遇到一个问题,某接口的一个字段值是通过AES加密的,而且每次请求要求这个字段值不能相同。 由于这个加密后的值的字长特别长,已经远远超出csv文件1个单元格所能包含的字符,所以参数化这个值就不能用常规的csv data set config组件 那么如何解决这个问题 阅读全文
posted @ 2023-10-22 01:26 风吹稻香 阅读(740) 评论(0) 推荐(0) 编辑
摘要:问题:java.io.FileNotFoundException: D:\A_JFKJ\A_a项目资料\1_20230906国家教育考试指挥系统V2.10\测试数据\报名_编排_考场对应\${username}-报名.xlsx (系统找不到指定的文件。) 解决方法:在文件路径${}参数化内容前方加反 阅读全文
posted @ 2023-09-20 11:13 风吹稻香 阅读(327) 评论(0) 推荐(0) 编辑
摘要:很可能原因:你的jdk版本高于1.8,卸载之,安装jdk1.8,重新执行就可以了(找了一下午的方案,亲测可用) 阅读全文
posted @ 2023-05-22 09:41 风吹稻香 阅读(228) 评论(0) 推荐(0) 编辑
摘要:报错 Response code:Non HTTP response code: java.net.SocketExceptionResponse message:Non HTTP response message: Socket closed 模拟200个用户访问,可以正常执行 但模拟600个用户 阅读全文
posted @ 2023-02-22 13:47 风吹稻香 阅读(2148) 评论(0) 推荐(0) 编辑
摘要:场景:用JMeter做压力测试的时候,一段时间后Aggregate Report报告里的错误率就一直上升,查看View Results Tree报告时发现报如下错误: Response code:Non HTTP response code: java.net.BindException Respo 阅读全文
posted @ 2023-02-22 13:46 风吹稻香 阅读(903) 评论(0) 推荐(0) 编辑
摘要:内网压测VS外网压测 一般toC的客户端在上线之前,总免不了压力测试和性能测试的过程,这就涉及到压测环境的部署了,主流观念一般有两种。 内网压测排除网络等外界因素的干扰,考虑程序的极限。 外网压测尽量还原真实的环境。 压力测试 压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种 阅读全文
posted @ 2023-02-21 09:34 风吹稻香 阅读(870) 评论(0) 推荐(0) 编辑
摘要:总结保存下jmeter通用的一些脚本~ 下载文件的接口返回的基本是文件流,因此我们想要拿到文件还需要处理保存下,jmeter中可以在下载请求下加个BeanShell后置处理器 import java.io.*; byte[] result = prev.getResponseData(); //获取 阅读全文
posted @ 2022-05-26 15:18 风吹稻香 阅读(955) 评论(0) 推荐(2) 编辑
摘要:背景: 最近在做某项目的性能测试,需要进行200个登录的并发,这时新建了200个用户,要用到他们的userId这个数据库字段。手动显示是耗时耗力的,这时就需要造轮子。 由于我们用的是mongodb数据库,这时考虑到通过python查询用户的username获取对应的userId,然后按照顺序追加写入 阅读全文
posted @ 2022-05-20 11:05 风吹稻香 阅读(287) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://www.likecs.com/show-203763365.html 阅读全文
posted @ 2022-05-19 16:33 风吹稻香 阅读(422) 评论(0) 推荐(0) 编辑
摘要:在使用之前我们要知道我们的请求的地址与参数是什么,所以 第一步:抓包,用wireshark抓包 先通过http协议接口建立连接,再自动升级为websocket协议 第二步:新建jmeter测试计划; 下载安装Jmeter下载插件需要的依赖包,原始Jmeter没有插件功能,所以需要先安装依赖jar包, 阅读全文
posted @ 2022-05-18 14:05 风吹稻香 阅读(2251) 评论(0) 推荐(0) 编辑
摘要:一. 为什么需要 WebSocket?在开发的过程中,如开发聊天室,或者客服聊天系统时,常常有新的客户端(用户)连接进来,也有老的客户端(用户)退出, 客户端A进行群发消息,其他的客户端进行展示客户端A发送的消息, 采用Http 协议进行处理时,需要在客户端发送一个请求,然后服务器进行响应数据,客户 阅读全文
posted @ 2022-05-18 10:52 风吹稻香 阅读(337) 评论(0) 推荐(0) 编辑
摘要:有时候我们需要使用jmeter去结合csv文件去做一些简单的数据驱动处理; 例如把数据库数据黏贴到csv文件中或者把网页上的数据填入到csv文件中; 直接我一般是用手自己黏贴复制过csv文件中,比较麻烦; 所以我就想能不能通过beanshell把数据直接写入到csv文件中呢? 奈何本人java和be 阅读全文
posted @ 2022-03-01 09:29 风吹稻香 阅读(1100) 评论(0) 推荐(0) 编辑
摘要:要测试多用户并发接口,接口需要用到token1、准备用户数据,用作登陆接口的参数化;2、添加登陆接口请求,添加csv参数化: 3、登陆接口添加json提取器: 4、登陆接口添加后置处理器,把提取出的数据保存到本地: import java.io.BufferedWriter;import java. 阅读全文
posted @ 2022-02-28 16:15 风吹稻香 阅读(1268) 评论(0) 推荐(0) 编辑
摘要:在一个脚本文件中,如果有多个线程组,并且想让他们从上到下依次执行,只需在测试计划页面,勾选“独立运行每个线程组”即可“Run teardown thread groups after shutdown of main threads”的意思是:主线程关闭运行后,拆除线程组 阅读全文
posted @ 2022-02-28 16:09 风吹稻香 阅读(302) 评论(0) 推荐(0) 编辑
摘要:在测试接口的时候,需要实现按照顺序执行进行压测,比如按照接口A-》接口B-》接口C-》接口D 进行执行。 如在一般情况下,设置线程数3,循环次数也为3 接口如下, 查询结果,可以看到请求顺序是混乱的,如果请求次数少,有些会按照顺序执行,但是随着次数增加,不按照顺序执行的几率也越高 为了可以一直按照顺 阅读全文
posted @ 2022-02-21 14:50 风吹稻香 阅读(1234) 评论(0) 推荐(0) 编辑
摘要:最近遇到一个性能测试项目,接口老是报500错误,经过测试发现是没写HTTP Cookie管理器。本文记录这个坑,加上之后就可以了~ 阅读全文
posted @ 2022-02-21 10:00 风吹稻香 阅读(1870) 评论(0) 推荐(0) 编辑
摘要:●前言 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资 第一步:执行命令 先在Jmeter中把要测试的请求配置好,然后去cmd中运行脚本。我这里只用了10条做测试,大家可以调多一点。 命令:jmeter -n -t 口令红包并发测试.jmx -l test. 阅读全文
posted @ 2021-12-21 15:33 风吹稻香 阅读(814) 评论(0) 推荐(0) 编辑
摘要:在性能测试过程中,比如下单场景,前提是用户登录后才能购买,如何处理这个前置接口呢? 下单1000次,登录1000次?这样显然不对,正确场景应该是登录一次,下单1000次。 那么,如何去控制登录接口呢? 可以使用仅一次控制器,或者runtime控制器,或者循环控制器。 讲解: 仅一次控制器:只登录一次 阅读全文
posted @ 2021-12-16 13:30 风吹稻香 阅读(385) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示