【性能测试】jmeter的坑(1)——如何在多网卡情况下正确连接

问题现象:

性能测试时,使用的服务器配置了双网卡,windows客户机配置了四网卡,坑爹的配置,内外网的隔离,导致在使用jmeter进行分布式测试的时候总是连接失败。

原因分析:

Jmeter采用了rmi进行远程调用,在开启RMI服务时,如果服务端有多个网卡,它只是使用其中任意一个网卡,默认情况下,导致jmeter的controller机器和agent机器不在同一个网段内,无法互通,导致失败

解决方法:

我们要在多网卡的服务器上开启RMI服务的话必须指定IP,使他们能够在同一个网段内。

需要以下几步(假定所有机器都在10.120.11.*网段,agent服务器为linux,controller服务器为windows):

1、 修改agent服务器,指定agent机器的IP

修改jmeter-server文件

# vi jmeter-server

修改RMI_HOST_DEF=-Djava.rmi.server.hostname=10.120.11.82

2、  修改server服务器,指定server机器的IP

修改jmeter.bat文件

新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214

修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%

修改完成后,重新启动即可

时间: 2024-10-24 11:52:54

【性能测试】jmeter的坑(1)——如何在多网卡情况下正确连接的相关文章

微信小程序性能测试之jmeter踩坑秘籍(前言)

最近要做个微信小程序的性能压测,虽然之前只做过web端的,但想一想都是压后端的接口,所以果断答应了下来,之前对jmeter都是小打小闹,所以趁着这次机会好好摆弄摆弄. --------------------------------------------------------------------------------踩坑前总结哈理论,这篇写给自己的----------------------------------------------------------------------

使用jmeter进行性能测试-Jmeter教程及技巧汇总 (转)

为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以同时用于功能和性能测试.Jmeter 有着众多的插件开发者, 支持多种的测试协议. 一 .Jmeter 使用入门教程(快速入门) 如果您熟悉英语, 可以选择阅读tutorialpoint的教程.  或浏览汉化中的[史上最完整Jmeter教程]. 您也可以继续浏览站长收集的如下资料.  1. Jmeter 快速入门教程(一)  什么是jmeter 及 google plugin介绍 (强大

性能测试-JMeter参数化(1)CSV Data Set Config

一.参数化的定义 所谓参数化,就是将客户端发送给服务器处理的数据预先保存到一个参数中的过程. 一般来说,对于功能测试,当用不同的数据测试相同的功能时,我们可以使用参数化来精简测试; 对于性能测试,为了真实模拟多个用户的操作行为或应对系统对多个用户同时操作的特殊限制(比如数据唯一性要求),需要使用参数化来解决这些问题. JMeter提供了非常多的参数化的方式和手段,常见有: 1.配置元件 CSV_Data_Set_Config 2.内置参数化函数,比如__CSVRead() 这1节我们主要讲下CS

性能测试--Jmeter的Non GUI模式、集群

Jmeter的Non GUI模式.集群 一.Non GUI模式 1.一般情况下在NonGUI模式下运行jmeter,有两个好处: 节省系统资源,能够产生更大的负载 可以通过命令行参数对测试场景进行更精细的配置 2.示例: 使用上一篇博文中smile task的查看所有task的脚本作为例子演示non gui模式 jmeter -n -t scripts/c7/all_tasks.jmx -l scripts/c7/all_tasks_res.jtl -e -o scripts/c7/report

性能测试-JMeter断言之响应断言精说

断言用于验证取样器请求或对应的响应数据是否返回了期望的结果.可以是看成验证测试是否预期的方法. 对于接口测试来说,就是测试Request/Response,断言即可以针对Request进行,也可以针对Response进行.但大部分是对Response做断言. JMeter常见的断言元件如下:1.响应断言 2.JSON Assertion 本章节,我们主要先来学习JMeter响应断言. 配置项 Apply to: 1.在大多数情况下,只有主取样器具有所有必需的响应数据.但是很多Web应用使用了Aj

性能测试-JMeter关联之正则表达式介绍

为什么要关联??? 在客户端与服务器通信过程中,多个请求/响应间的数据会有相互依赖的关系.比如上一个请求返回的某些响应数据在后续的请求中需要用到. 下面是一些典型的例子: 1)比如第一次访问网站获取的session id在后续的请求都会将其传给网站; 2)服务器生成token返回给用户,在后续的请求中要带上token; 3)根据条件查询某记录,在查询结果集中选择记录进行操作(比如删除) ... 但是有些通信协议是无状态的,不存在上下文相关性.多个请求/响应之间的数据不能直接进行传递; 并且每次服

性能测试Jmeter第一节

性能测试目的:发现性能瓶颈 性能测试分类: 负载测试:通过逐步加压的方法,达到既定的性能阈值的目标.阈值的设定应是小于等于某个值,如cpu使用率小于等于80% 压力测试:通过逐步加压的方法,使得系统的某些资源达到饱和,甚至失效状态,简单粗暴的解释就是什么条件能把系统压崩溃. 并发测试:在同一时间内,多个虚拟用户同时访问同一模块,同意功能, 通常的测试方法是设置集合点 容量测试:通常指数据库层面的,目标是获取数据库的最佳容量能力,又称之为容量预估.具体方法为:在一定的并发用户,不同的基础数据量下,

JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器

有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等.问题来了:JMeter 是不知道上传后文件的 id 的,第二个请求势必从第一个请求的返回结果中提取出文件 id,然后依此为参数发起第二次请求.那么 JMeter 如何把上一个请求的结果作为下一个请求的参数呢?本文将介绍如何使用正则提取器解决这个问题.        1. 提参采样器添加正则表达式提取器

性能测试JMeter趟的坑之JMeter的bug:TPS周期性波动问题

先说下问题: 我在做性能测试时,使用JMeter搞了100个并发,以100TPS的压力压测十分钟,但压力一直出现波动,而且出现波动时JMeter十分卡,如下图: 周期性TPS波动 各种推测: 所以开始找环境的各种原因,起初以为是JMeter的连接被"劫持"了,不然JMeter也不会卡的.所以,花了整整一下午时间,去排除压测机环境.被压测环境(TCP连接数.程序上的问题等等),但一直没找到原因.后来,换成LR后,压测正常.所以开始怀疑是JMeter自身的问题. 原因找到: 后来想起来,我