最近做了一个安全传输模块,因为怕对性能有较大影响,因此测试安排了针对性的压测 压测的过程出现了一点小问题 发现失败率特别高,测试怀疑是服务端出了错,但是我查看日志发现没有报错.后面我观察TCP链接数排除了服务端的嫌疑 我发现跑着跑着,tcp链接数就突然就降低下来,也就是这个时候jmeter显示的错误率急剧升高.因此排除了服务端的嫌疑,然后让测试把日志输出打开,果然打开日志输出后,发现了大量的错误: 拿上面的错误信息到百度找,找到如下答案 Windows 提供给 TCP/IP链接的端口为 1024…
线程组里面有三个接口请求,依次为:显示商品列表.登录秒杀平台账户.进行秒杀 对线程组用5000个线程循环10次 设置一下默认配置,之后就不用反复填写了 设置配置文件这个具体功能就是读text文件并且设置变量的作用. 设置HTTP 请求我们这次直接对秒杀功能进行压测,填写的路径如图所示,这个要参见之前的代码.访问这个路径时需要两个变量,其中token是从之前的文本文件中读取的(也可以从登录接口正则获取到),注意Value的语法(如何写的). 结果展示 第一次运行的结果: TPS:630.9/sec…
百度网盘下载软件 提取码: 2nur 第一步:首先从jmeter的官网下载jmeter,目前最新版本为4.0,支持的JDK最高为1.8 下载地址: jmeter:http://jmeter.apache.org/download_jmeter.cgi JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, 第二部:安装JDK 将下载好的JDK解压缩进行安装,若无安装目录要求,…
新项目是 newbee-mall 的升级版本,暂时就叫它 newbee-mall-plus 吧,第一阶段会开发秒杀功能.优惠券.对接支付宝这些功能,也会慢慢加入 Redis. Elastic Search.Sentinel.Docker.K8s.消息队列.Spring Cloud 等技术栈. 以上是对于后端技术栈的补充和升级,至于前端技术栈的话,后面可能会加入 React 版本和小程序版本的新蜂商城代码实现. 新蜂商城系列仓库地址:https://github.com/newbee-ltd 如果…
一.Jmeter4.0分布式压测准备工作 压测注意事项            the firewalls on the systems are turned off or correct ports are opened.            系统上的防火墙被关闭或正确的端口被打开. all the clients are on the same subnet.            所有的客户端都在同一个子网上. the server is in the same subnet, if 19…
1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <526861348@qq.com># 作者 ENV http_proxy ""ENV https_proxy "" RUN mkdir /test && \ chmod -R 777 /test# 创建/test目录,用于存放jmx脚本.jtl结果文件.html测试报告文件 ENV JMETE…
我们在Loadrunner学过使用Load Generator做肉鸡, 通过Controller来进行脚本和权重的分配来进行分布式压测, Jmeter作为当今的网红性能测试工具,这个功能必须是少不了的. 顺便贴一张原理图, 方便从战略上理解我们即将要做的事情: Jmeter3.2和4.0上对分布式的布署稍有不同, 主要是因为自JMeter 4.0以来,RMI的默认传输机制将使用SSL.SSL需要密钥和证书才能工作, 因此你将不得不自己创建这些密钥. 接下来我们就Step by step操作, 如…
步骤 自动化压测- jmeter + shell Jenkins与jmeter压测,环境要求 自动压测运行逻辑 Jmeter输出压力测试报告 压测报告与Jenkins集成 Jenkins任务:源码同步.运行任务.展示测试报告 压力测试脚本准备 将Jmeter成功请求的jmx文件放在相关项目中 编写shell执行脚本 #!/usr/bin/env bash # 压测脚本模板中设定的压测时间应为60秒 export jmx_template="iInterface" export suff…
Badboy 以下稍微介绍一下badboy的部分功能: 1.Record;play(badboy打开后默认是recording状态) 2.Assertion(检查点/断言) 3.Variable: textVariable,dataSourceVariable(参数化:文本参数话,数据库参数化) 4.Run background threads(并发) 5.Report(报告) 6.Toggle break point(debug,断点) jemter 参数化: 1.前置处理器->用户参数 2.…
转自:https://blog.csdn.net/qq_41305266/article/details/81071278. 一.JMeter入门 下载链接 http://jmeter.apache.org/download_jmeter.cgi 添加线程组 设置http请求默认值 添加待压测的http请求 添加聚合报告监听器 启动测试 1000个线程,循环10次,即10000个请求 二.redis 压测 1. redis-benchmark -h 127.0.0.1 -p 6379  -c 1…
一.JMeter入门压测 1.打开JMeter工具,选中测试计划->右键添加->线程(用户)->线程组,页面中的线程数就是并发数,页面中的Ramp-Up时间(秒)表示通过多长时间启动起来这些线程,如果值为0,表示这些线程一起启动起来. 2.选中线程组->右键添加->配置元件->HTTP请求默认值,来配置一个默认请求.页面中的协议填http,服务器名称或IP填localhost,端口号填8080. 3.选中线程组->右键添加->Sampler(取样器)->…
笔者14年入坑测试,截止到17年年初一直在游戏公司,压测,我都没有怎么用过,特别是jmeter去压测,自己学习,可是先找到切入点,于是乎, 其实也算是我学习后,先找一个更大的平台吧,我聊了几个游戏公司,哎,没面上,可能是我也相不中,我换了现在的公司,教育公司.算是转行了,做在线教育公司的产品, 一开始我也是点点,每天面对不了的需求,期间也经历了部门的较大的人员离职,新领导就位,就到这个新老领导交替后,运行一段时间后,我们的产品可以说开始出来各种异常了, 其实我们一开始是认为功能的报错,或者服务器…
前段时间有描述过性能的测试类型 配置负载 Big Bang: 负载同时产生 Ramp up: 开始时候产生一定负载,然后每隔一段时间增加一些负载直到达到目标负载,这是典型模式 Ramp-up (with step): 分段产生负载.比如总共需要1000用户的负载,但是我们需要观察系统在250, 500, 700负载下的表现,到达这些负载后需要跑一段时间再增加新负载 Ramp up (with step), ramp down (with step): 跟上面类似,只是最后负载回归到0 Delay…
在接口开发完以后,开发人员应该学会对自己的接口先进行压测一下,虽然压测的结果并不一定准确,也不能完全反映真实情况,但是如果有问题的话多少是可以看出的,而且也可以及早做优化,做到心里有底.否则,等测试进行压测后发现问题再优化时可能会有些仓促,因为测试一遍是先验证功能,后验证性能.开发人员自己做接口压测的时候,可以选择Apache ab工具,或者Apache JMeter.建议,如果简单的话用ab,复杂的话还是用JMeter吧!真的很强大!!! 1.下载并安装 http://jmeter.apach…
jmeter压力测试 前提场景的设置:单场景(单个接口进行压力测试一个请求)或混合场景(有业务流程的场景进行压力测试多个请求),压测时间一般在5--1515分组具体看需求. 数据准备:数据量少和数据量大的情况下,测试的结果是不一样的,在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter,操作数据库来造数据,也可以使用python连接数据库,批量的造数据. 查看压测结果:tps每秒钟处理的请求数,每个请…
当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况 通过和开发对接,目前消息服务是通过dubbo接口对内提供服务,所以才有了这边文章的记录 最初的压测这个dubbo接口有三种思路: 1.第一种就是基于业务,比如注册业务,注册成功后,会发送短信消息到用户手机,通过业务调用消息服务,最容易实现,但是业务瓶颈最大导致测试结果不准 2.第二种是通过将dubbo接口上面做一层包装,提供一个http接口访问dubbo接口,需要提供二次开发,需要时间,而且高并发下,需要部署在tom…
一.介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等.JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能. 同时,JMeter可以帮助你对你的应用程序进行回归测试.通过你创建的测试脚本和assertions来验证你的程序返…
概述 本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控. 引言 我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等到测试完成后去看Report,如果是长时间压测,比如压测1~2天,那就更烦人了. 压测的时候,我们实时通过监听器 GenerateSummaryResults汇总输出,可以看到如下内容 GenerateSummaryResults汇总展示了压测中需要关注的大量信息,其中包括:Avg (Average…
jmeter - 单机压测 - 命令行模式-html报表生成-控制台参数优化 一/ 准备工作 1.压力机安装并配置好 jdk 2.调试好程序脚本 再上传到 linux下 3.进入jmeter  bin目录执行          chmod +x ./*    可执行权限 二/ 单机执行步骤 执行 ./jmeter.sh -n -t /export/ptest/TestPlan.jmx -l /export/ptest/result.jtl -n : 命令行模式 ,no-gui: -t :  jm…
在公司做压力测试也挺长时间了,每次测试前环境数据准备都需要话费较长时间,所以一直在考虑能不能将整个过程实现自动化进行,于是就抽空写了一个自动化脚本,当然这个脚本目前功能十分简陋,代码也不完善,很有很多需要改的地方,后续再优化.文中如有错误或者不妥之处,还望指教. 一.设计思路 1.初始化数据库(导入用户,清除数据等) 2.初始化缓存(使用了redis缓存优化系统) 3.执行压力测试 二.目录结构…
一.阿里云linux安装JDK 1.下载安装JDK jdk官网,选择linux版本,下载并保存. (一)yum安装 安装epel的yumyuan yum install epel-release -y 查看yum源里当前jdk有哪些版本 yum list | grep openjdk 执行安装命令: yum install java-1.8.0 -y 检查是否安装成功 java -version (二)rpm安装 官网下载rpm包 xshell上传到服务器 执行安装命令: rpm -ivh jd…
环境: jmeter: apache-jmeter-3.3 jdk: 负载生成: 被测机: 一. 多机负载压测: 概述: 1.修改jmeter.properties配置文件 remote_hosts=127.0.0.1 remote_hosts=192.168.1.142:1099,localhost:1099 2.启动 控制端启动:jmeter.bat: 负载生成器启动sever-jmeter.bat 远程启动: 3.出现问题: 负载生成器由于装有虚拟机,导致无法连接:   解决:禁用虚拟网卡…
目前项目中接触的比较多的是接口测试,功能测个差不多后会对部分接口进行压测,采用的是java编写脚本,导入jmeter进行压测. 使用到的jmeter的相关包 写一个测试类,继承AbstractJavaSamplerClient 设置请求参数,这些参数在导入进jmeter之后会在java请求页面显示出来 具体的请求方法可以写在test方法里,获取请求的结果resultData,然后对resultData里的内容解析,判断接口调用成功or失败 将项目导出成jar包,导入到jmeter中,在jmete…
此文已由作者夏鹏授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Apache Jmeter是基于Java开发的性能测试工具,支持多种协议的测试,包括:Web(HTTP/HTTPS).SOAP.FTP.Database(JDBC).LDAP.Mail(POP3/IMAP).JAVA:还提供了多种性能数据统计报表,使用简单方便简直是性能测试中居家旅行杀人越货之必备:但是~本次性能测试需求是Thrift服务接口,并不在Jmeter支持的协议范围内,继续用钟意的Jmeter完成…
视频讲解 点击下方链接,观看 讲解视频 https://www.bilibili.com/video/av60089015/ 动机 目前市场上对API接口做性能测试工具有 Jmeter.LoadRunner.AB.Locust等. 白月黑羽用过之后,觉得它们各有优点和不足,总体不是很满意. 所以 决定 开发一款免费的性能测试工具,希望集上面这些工具的优点,提供给大家使用.并且根据大家的反馈 不断的改进. 于是就有了 这款 HyLoad,中文名叫 黑羽压测. 特点 黑羽压测 这款工具,立足 简单易…
年后,德国总部工业平台要做中国本地化,德国的同事过来给我们展示日志的时候,无意间看到了他们应用日志里的 HTTP/2,下意识到,原来他们都已经提供Http 2.0的服务了. 那么问题来了,除了h2load这样的压测工具,可以模拟http/2的客户端以外,作为压测工具的业界大佬,因为灵活,支持多种协议,可测场景丰富而深受我喜爱的Jmeter,是否支持http 2.0呢?回答是肯定的,因为有人(非Apache官方)已经为写好了插件,亲测可用. 下面列出这个大神的github地址,Readme文档已经…
windows下Jmeter压测端口占用问题 1 报错信息描述 压测的初期,在设置了 150qps/s 的并发数下压测几分钟后 Jmeter 就出现了如下报错. JAVA.NET.BINDEXCEPTION: ADDRESS ALREADY IN USE: CONNECT 1 2 4 问题排查 开始考虑的方向是Nginx.PHP.MySQL做了相关限制导致线程被占用, 但是修改对应的配置后发现没有任何效果,该报错的还是报错. 查了一波资料,发现  windows 环境下的端口循环回收需要消耗2-…
TCP压测 场景:模拟硬件设备上报数据(登录,心跳,GPS定位数据/光感数据/电量数据),对这个功能进行压测 啰嗦一句:TCP压测很简单,只要调通了一个TCP,后续的逻辑判断就用逻辑控制器和正则处理就行. 1.调通一个TCP取样器(参考地址:Jmeter之TCP取样器) 2.用“事务控制器”管理整个功能 3.使用“正则”提取响应数据 4.使用“if控制器”判断响应数据是否正确,并执行下个请求 5.使用“用户参数”,管理IP,端口,数据 6.添加“工作台”:非测试元件->HTTP代理服务器 7.添…
解决办法:1.控制机和代理机:修改jmeter.properties中server.rmi.ssl.disable=true 不启动SSL2.控制机和代理机: Slave(从压力机)启动jmeter-server时添加-Djava.rmi.server.hostname参数,即./jmeter-server -Djava.rmi.server.hostname=从压力机ip地址(linux下)jmeter-server -Djava.rmi.server.hostname=从压力机ip地址(wi…
前言 最近在看neo4j相关的官网文档以及一些调优参数,同时也学了下Jmeter,为了测试下neo4j服务的性能,虽然不是专业搞测试的,但是我觉得每个优秀的开发者都应该学会主动压测自己服务和代码的性能,并非写完代码之后直接扔给测试就完事了,兵法云:知彼知己,才能百胜不殆嘛. jmeter是什么 jmeter是一款开源的测试工具,源码100%基于Java并开源,最初的设计目的是用来测试Web应用的,由于其非常轻量级和免费,后来又扩展到其他测试领域. jmeter的一些特点: 1.能够对HTTP,F…