Jmeter--压测dubbo接口】的更多相关文章

jmeter 压测duobbo接口,jmeter代码不合理,导致每执行一次请求,会调用一次消耗内存的实例化.导致越压越慢,请求发不出去.这个时候需要考虑修改代码了. 截图中,tps越来越少. 原来初始化的代码放在 runTest中执行.修改后放在 setupTest方法中运行,只运行一次.解决实例化消耗内存问题. import com.alibaba.fastjson.JSONObject; import org.apache.jmeter.config.Arguments; import or…
此次压力测试是以一个http json的后台接口为例. 1. 创建相应的部件 2. 设置相应的参数 线程组主要用于设置一共要测试的线程数量(上图1000),每秒起的线程数(上图10),几秒内启动完单循环内要跑的线程(上例子中为10秒内启动1000个线程,即通常所说的100并发),一共测试多少个循环(上图永远). http请求主要用于设置 被测试服务器的 ip地址 端口 服务地址 请求体数据. http信息头管理器,主要用于设置http头字段信息,比如Content-Type. 聚合报告 主要用于…
前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用户只能修改自己的个人信息. 场景案例 我现在有一个登陆接口A,登陆成功后返回一个token值.A接口登录接口文档基本信息 访问地址:http://127.0.0.1:9000/api/v1/login/ 请求类型:POST 请求头部:application/json 请求参数:{"username&…
1.JMH简介 JMH即Java Microbenchmark Harness,是Java用来做基准测试的一个工具,该工具由OpenJDK提供并维护,测试结果可信度高. 相对于 Jmeter.ab ,它通过编写代码的方式进行压测,在特定场景下会更能评估某项性能. 本次通过使用JMH来压测Dubbo的性能(官方也是使用JMH压测) 2.使用 只需要引用两个jar即可: <dependency> <groupId>org.openjdk.jmh</groupId> <…
jmeter压测参数设定 一.基本公式 线程数 = QPS * time: 注:QPS--每秒完成请求的个数:time--每个请求响应完成平均需要时间: 故QPS * time就是所有请求完成响应所需要的总时间,如果需要在一秒完成所有请求的响应,所以线程数需要等于总时间值 二.参数值设定 以下情况前提:所有线程数完成时间设置为1秒 1.若QPS有预期值, 设置定时器Throughput的值(与QPS接近),线程数随机设置一个比较小的值,开始启动压测,观察error比例(如果很小,符合要求,否则需…
之前在windows机上用JMeter压测,50并发下出现大量接口报“java.net.BindException: Address already in use: connect”错误. 从字面的意思看,是地址被占用了. 查资料才知道是windows本身提供的端口数量有限制.导致接口请求时,端口被占用:Windows XP提供给 TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收他们.就导致我们在短时间内跑大量的请求时将端口占满了. 解决步骤: 1.cmd中,用regedit…
前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketException: Socket operation on nonsocket: connect 环境准备: java 1.8 jmeter 5.1.1 jmeter环境 jmeter环境依赖JAVA环境,需安装JDK1.8环境,JDK环境安装网上一大堆教程,自己去想办法吧,我这里就不多说了. jmeter…
1.误区 在JMeter压测过程中,我们通常认为1s内100的并发量(即:QPS为100)的设置如下: 此时,没有再添加额外的控制器.上述中的参数设置解释:Number of Threads(users): 启用的并发线程个数Ramp0up Period(in seconds):在多少秒之内将上述并发的线程启动起来Loop Count:控制循环次数说明:一个常见的误解,认为Number of Threads(users)设置为100,Ramp-Up Period(in seconds)设置为1,…
上次我们将dubbo接口与jmeter集成起来,但是jmeter是由java实现的,本身有很多限制,无法实现高并发,我们需要借助分布式来实现大压力测试. 在上次的例子中,我们只是实现了简单的dubbo接口测试,下面我们来实现参数化,我们先创建一个txt,并在里面添加入参及出餐: 添加csv config 修改我们写死的beanshell脚本 在修改脚本之后我们来添加一个beanshell断言 在jmeter里单机运行一下 接下来我们来实现jmeter分布式运行,在实现分布式的时候,我们需要区分两…
https://blog.csdn.net/weixin_43757847/article/details/88188091 1 前情提要人脸识别项目中,云平台新增了人脸识别的校验接口.考虑到存在大量用户并发使用人脸识别功能登录的情况,需要对涉及到的接口进行压力测试(后续简称压测),来确保上线后的系统质量更稳定.2 压测环境配置压测发起设备:windows 10网络:局域网压测软件:Jmeter 5.0压测系统内存:Ubuntu 4核8GPHP 版本:php7.1.23Nginx 版本:ngin…
​    ​接上篇,一键转化将接口测试平台测试用例转化成Jmeter压测脚本思路,这里我首先在java 上面做了一个简单的实验,看看 转化的中间遇到的问题,这里呢,我只是给了一个简单的demo 版本,后续结合项目的实际的实用,还是靠各位,贴合我们的实际的项目去制定适合本公司转化的脚本.具体的业务还是要实际的分析的.首先看下我的思路 1.点击一键生成 2.后台拿到测试环境id,测试用例id 3.后台去交验是否存在测试环境,测试用例id. 4.后台开始根据用例请求参数,组织Jmeter脚本 5.产生…
概述 Hprose(High Performance Remote Object Service Engine),国人开发的一个远程方法调用的开源框架.它是一个先进的轻量级的跨语言跨平台面向对象的高性能远程动态通讯中间件,它支持众多语言,例如nodeJs, C++,.NET,Java,Delphi,Objective-C,ActionScript,JavaScript,ASP,PHP,Python, Ruby,Perl等. 什么是RPC? RPC(Remote Procedure Call Pr…
前言 因为工作需要,久违的从自己的有道云笔记中去寻找压测相关的内容,翻开之后发现还不错,温故一遍后顺便整理出来分享给大家. 题外话,工作8年多,有道云笔记不知不觉都6G多了,扫一眼下来尽是云烟过往,竟然还能发现Struts的东西,令人甚为感怀,挺好奇你们的云笔记长什么样子. 话说,我如果一直这么记下去,有朝一日能成为IT界的司马迁不哈哈? 为何JMeter 犹记得当年工作之初,压测根本不成为话题,当时的框架也相对复杂,和现在的SpringBoot用法简直云泥之别,在那种环境下,除了大公司,压测自…
使用代理的方式,录制app端脚本,之后用jmeter压测就没啥好说的了 1.电脑端谷歌设置本地代理(端口号为8888) 2.jmeter设置HTTP代理服务器(端口号为8888) 3.手机端wifi设置HTTP手动代理(服务器为电脑的IP,端口号为8888) 4.jmeter启动代理 5.手机端登陆使用app,jmeter录制到了脚本…
JMeter压测基础(三)——Mysql数据库 环境准备 mysql驱动 JMeter jdbc配置 JMeter jdbc请求 1.下载mysql驱动:mysql-connector-java.jar 2.添加jar包 test plan->Add directory or jar to classpath,添加mysql-connector-java.jar 3.jdbc配置 一般jdbc配置在线程组中 填写对应数据库的URL.Driver class.用户名.密码等等 3.添加jdbc请求…
一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps:服务端每秒钟能处理的请求数. 响应时间:就是你从发出请求到服务端返回给你数据的时间. 二.jmeter操作数据库 在测试计划中添加mysql-connector-java-5.1.7-bin.jar 最后添加查看结果树.如果既要查询又要修改操作选择Callable Statement这个模式. 断言…
jmeter压测基本介绍一般基准测试(基准测试时间一般为5分钟)后压测的时间是10-15分钟: 实施测试之前要拿到测试指标 例如:tps要达到多少响应时间要达到多少并发数要达到多少TPS :服务端每秒处理的请求数,数值越大证明服务器处理能力越好:响应时间 :client端发送第一包数据到server端处理后client接受到最后一包数据的时间: jmeter添加压力机三步曲: 1.先在负载机上启动jmeter-server(Windows:jmeter-server.bat Mac/Linux:…
jmeter 压测 一般压测的时间是10-15分钟 TPS:服务端每秒钟处理的请求数  越大越好 响应时间 :越短越好 并发用户数  也就是多少并发 指标给你:tps要达到多少 响应时间要达到多少 并发数是多少 jmeter 添加压力机 1.先在其他的负载机(另外的电脑)上启动jmeter-server (jmeter-server.bat  windows) (jmeter-server.sh mac.linux) 主控机和负载机 2.修改主控机jmeter的配置文件jmeter.proper…
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况. 如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可参考性. 场景案例 我现在有一个登录接口,接口登录接口文档基本信息 访问地址:http://127.0.0.1:8000/api/v1/login/ 请求类型:POST 请求头部:Content-Type: application/json 请求参数:{"username":"…
由于在java中添加了第三方安全策略文件,具体请看https://www.cnblogs.com/mrjade/p/10886378.html,导致在用jmeter压测过程中会遇到以下错误 解决办法: 将bcprov-jdk15on-1.55.jar放至在 /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/ext 即可…
windows下Jmeter压测端口占用问题 1 报错信息描述 压测的初期,在设置了 150qps/s 的并发数下压测几分钟后 Jmeter 就出现了如下报错. JAVA.NET.BINDEXCEPTION: ADDRESS ALREADY IN USE: CONNECT 1 2 4 问题排查 开始考虑的方向是Nginx.PHP.MySQL做了相关限制导致线程被占用, 但是修改对应的配置后发现没有任何效果,该报错的还是报错. 查了一波资料,发现  windows 环境下的端口循环回收需要消耗2-…
一.jmeter压测 1.如何压测 常规性能压测:10-15分钟 稳定性测试:一周.2天等 如果想要压测10分钟,勾选永远,勾选调度器,填写600秒.也可以使用固定启动时间. 2.tps.响应时间 (1)含义 tps:每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好 响应时间:也就是每个请求的处理时间   (2)在jmeter中查看压测报告 jmeter-监听器-聚合报告,主要看以下几项 samples:总共发出多少请求 average:平均相应时间,单位毫秒 Er…
本文的主要内容是介绍如何在Linux CentOS 服务器上面搭建Jmeter的压测环境整个详细的流程,来满足我们日常工作中对于压力测试环境搭建.压力测试执行过程的需求. 一.首先我们要准备四个东西,在搭建环境的时候需要使用到 1.Xshell.puTTy等终端连接工具(本文教程使用Xshell) Xshell用于连接Linux CentOS 服务器,为我们提供操作服务器的可视化界面,如何连接服务器本文不做赘述,如果有需要请自行联网搜索,网上教程很多.连接成功如下: 2. Jmeter压缩安装包…
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况.如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可参考性. 场景案例 一.仍用项目中原来的登录压登录 http:****:9000/***/userWeb/login 二.准备压测的数据 login.txt中存10条登录数据,中间有逗号隔开 三.添加CSV Data Set Config 登录->添加->配置元件->CSV Data Set…
此文已由作者夏鹏授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Apache Jmeter是基于Java开发的性能测试工具,支持多种协议的测试,包括:Web(HTTP/HTTPS).SOAP.FTP.Database(JDBC).LDAP.Mail(POP3/IMAP).JAVA:还提供了多种性能数据统计报表,使用简单方便简直是性能测试中居家旅行杀人越货之必备:但是~本次性能测试需求是Thrift服务接口,并不在Jmeter支持的协议范围内,继续用钟意的Jmeter完成…
下载及安装 官网下载JMeter3.0: 找到bin目录下的jmeter.bat启动: 压测Rest请求 1.添加线程组 路径:右键“测试计划”->添加“Threads(Users)”->线程组 说明: 每一个JMeter线程都会完整地执行测试计划,而且它们之间是完全独立运行的.这种多线程机制被用来模拟服务器应用的并发连接.参数Ramp-Up Period告诉JMeter达到最大线程数需要多长时间. 假设共有10个线程,Ramp-Up Period 为100秒, 那么JMeter 就会在100…
笔者14年入坑测试,截止到17年年初一直在游戏公司,压测,我都没有怎么用过,特别是jmeter去压测,自己学习,可是先找到切入点,于是乎, 其实也算是我学习后,先找一个更大的平台吧,我聊了几个游戏公司,哎,没面上,可能是我也相不中,我换了现在的公司,教育公司.算是转行了,做在线教育公司的产品, 一开始我也是点点,每天面对不了的需求,期间也经历了部门的较大的人员离职,新领导就位,就到这个新老领导交替后,运行一段时间后,我们的产品可以说开始出来各种异常了, 其实我们一开始是认为功能的报错,或者服务器…
在接口开发完以后,开发人员应该学会对自己的接口先进行压测一下,虽然压测的结果并不一定准确,也不能完全反映真实情况,但是如果有问题的话多少是可以看出的,而且也可以及早做优化,做到心里有底.否则,等测试进行压测后发现问题再优化时可能会有些仓促,因为测试一遍是先验证功能,后验证性能.开发人员自己做接口压测的时候,可以选择Apache ab工具,或者Apache JMeter.建议,如果简单的话用ab,复杂的话还是用JMeter吧!真的很强大!!! 1.下载并安装 http://jmeter.apach…
jmeter压力测试 前提场景的设置:单场景(单个接口进行压力测试一个请求)或混合场景(有业务流程的场景进行压力测试多个请求),压测时间一般在5--1515分组具体看需求. 数据准备:数据量少和数据量大的情况下,测试的结果是不一样的,在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter,操作数据库来造数据,也可以使用python连接数据库,批量的造数据. 查看压测结果:tps每秒钟处理的请求数,每个请…
 要想通过自定义java请求来压测ZooKeeper,那么我们就需要做两件事情,第一我们需要知道java如何操作ZooKeeper,第二就是怎么能将我们写的jar包让jmeter识别,首先我们先来干第一件事. 一.java操作ZooKeeper 以下的代码是网上百度找到的,经过了一点点修改(对于测试其它的可以找其它的测试代码) package com.comtop.ZookApi; import java.util.concurrent.CountDownLatch; import org.ap…