JMeter使用技巧有哪些
1、如何使用英文界面的JMeter Jmeter启动时会自动判断操作系统的locale并选择合适的语言启动,所以,我们启动jmeter后,其会出现一个倍感亲切的中文界面。但由于jmeter本身的汉化工作做得不好,你会看到有未被汉化的选项及元件的参数。而且部分翻译并不准确,因此对于英文比较好的牛人来说更喜欢纯正的英文界面。强制以英文方式启动jmeter的方法如下:在windows环境下,打开jmeter解压目录,bin目录下的jmeter.bat文件,也就是jmeter程序的启动文件,选择记事本方式打开。做以下修改:.................set HEAP=-Xms512m -Xmx512mset NEW=-XX:NewSize=128m -XX:MaxNewSize=128mset SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%set TENURING=-XX:MaxTenuringThreshold=2set RMIGC=-Dsun.rmi.dgc.client.gcInterval=600000 -Dsun.rmi.dgc.server.gcInterval=600000set PERM=-XX:PermSize=64m -XX:MaxPermSize=64mset LOCALE=-Duser.language=en -Duser.region=remset DEBUG=-verbose:gc -XX:+PrintTenuringDistribution.........rem Server moderem Collect the settings defined aboveset ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %RMIGC% %PERM% %DDRAW% %LOCALE%.............
2、晕死,当我上面介绍了那么多后,在最新的2.8版本,我无意中发现了这个功能。

4、如果有必要的话需要修改端口号,点击“启动”按钮来启动Server。接下来修改采样器,使其将HTTP请求发送到localhost:8081(也就是MirrorServer启动的位置)

6、JMeter分布式测试 Jmeter是java应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误。为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制。 那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter。这种方式很笨,也很难达到真正的同步。其实,我们通过单个jmeter客户端就可以控制多个远程的jmeter服务器,使它们同步的对服务器进行压力测试。

7、 通过远程运行jmeter,测试人员可以跨越多台低端计算机复制测试,这样就可以模拟一个比较大的服棣蚺幌盗务器压力,一个jmeter客户端实例,理论上可以控制任意多的远程jmeter实例,并通过他们收集测试数据。这样一样,就有了如下特性:*保存测试采样数据到本地机器*通过单台机器管理多个jmeter执行引擎。*没有必要将测试计划复制到每一台机器,jmeterGUI客户端会将它发往每一台jmeter服务器。*每一台jmeter远程服务器都执行相同的测试计划,jmeter不会在执行期间做负载均衡,每一台服务器都会完整地运行测试计划。 在1.4GHz~3GHz的CPU、1GB内存的JMeter客户端上,可以处理线程100~300。但是WebService例外。XML处理是CPU运算密集的,会迅速消耗掉所有的CPU。一般来说,以XML技术为核心的应用系统,其性能将是普通Web应用的10%~25%。另外,如果所有负载由一台机器产生,网卡和交换机端口都可能产生瓶颈,所以一个JMeter客户端线程数不应超过100。 采用JMeter远程模式并不会比独立运行相同数目的非GUI测试更耗费资源。但是,如果使用大量的JMeter远程服务器,可能会导致客户端过载,或者网络连接发生拥塞。使用多台机器产生负载的操作步骤如下:(1)在所有期望运行jmeter作为负载生成器的机器上安装jmeter,并确定其中一台机器作为controller,其他的的机器作为agent。然后运行所有agent机器上的jmeter-server文件(假定使用两台机器192.168.0.100和192.168.0.101作为agent)(2)在controller机器的jmeter的bin目录下,找到jmeter.properties文件,编辑该文件:查找: remote_hosts=127.0.0.1 修改为: remote_hosts=192.168.0.100:1099,192.168.0.101:1099 这里要特别注意端口后,有些资料说明端口1644为jmeter的controller和agent之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。(3)启动controller机子上的jmeter应用,选择菜单“运行”--->“远程启动”,来分别启动agent,也可以直接选择“远程全部启动”来将所有的agent启动。

9、搜索功能 这是在使用一个变量或含有一定的URL或参数测试计划树和元素有时很难找到。现在一个新的特点是从2.6开始,你可以访问它的菜单搜索。它提供了搜索与下列选项:* 使搜索区分大小写区分大小写:* 正则表达式是一个正则表达式搜索文本,如果有的话将被搜索的正则表达式树的组件,例如“\BTEST\b”将匹配任何组件,包含测试组件的搜索元素

10、线程之间传递变量 JMeter变量作用域局限于所属线程。这样设计是经过深思熟虑的,目的是让测试线程能够独立运转。有时候用户可能需要在不同线程间(可能属于同一个线程组,也可能不属于同一个线程组傧韭茆鳟)传递变量。 其中一种方法就是使用属性。属性为所有JMeter线程所共享,因此当某个线程设置一个属性后,其他线程就可以读取更新后的值。 如果存在大量数据需要在线程间传递,那么可以考虑使用文件。例如,测试人员可以在一个线程中使用监听器,保存响应到文件(SaveResponsestoafile)或者BeanShellPostProcessor。而在另外一个线程中使用HTTP采样器的“file:”协议来读取文件,接着使用一个后置处理器或者BeanShell测试元件提取信息。 如果在测试启动前测试人员就能获得测试数据,那么最好将数据保存到文件中,使用CSVDataset读取。