51Testing软件测试论坛

标题: 如何使用Jmeter进行压测? [打印本页]

作者: 草帽路飞UU    时间: 2022-11-29 16:23
标题: 如何使用Jmeter进行压测?
简介


  我们在使用Jmeter进行压力测试,有时候会受到测试机的配置限制,进行大并发测试时,电脑会非常卡,Jmeter卡住,无法测试出系统的最大承载能力。

  所以我们需要使用Jmeter 的分布式压测,使用多台测试机分摊压力。


  执行过程


  Jmeter 可以选择一台机器作为控制机,其他机器作为执行机。

  ·在控制机写好脚本


  · 将脚本发送到执行机


  · 执行机执行脚本


  · 回传执行结果


  · 控制机汇总


  注意:最终线程数 = 脚本线程数 * 执行机数


  每台执行机都是执行同样的脚本,最后汇总到控制机。

  实战

  1. 安装

  在所有机器中安装Jmeter (需要有Java环境)

[attach]145557[/attach]

2. 配置环境变量(可选)

  在环境变量中添加 JMETER_HOME 值为Jmeter的安装位置。

  Path中添加JMETER_HOME\bin


  安装完Jmeter下面开始配置分布式集群。


  3. 分布式配置


  修改Jmeter安装目录中bin目录下的Jeter.properties;

  执行机配置


  在配置文件中找到remote_hosts 修改为执行机的 ip:端口号。

[attach]145558[/attach]


端口号 默认使用1099 可以进行修改 -使用默认接口时 remote_hosts 可以不加端口号。

[attach]145559[/attach]

关闭ssl

  Jmeter 高版本默认启用ssl 需要创建ssl,不创建启动会报错,这里我们关闭ssl。

[attach]145560[/attach]


到这里执行机的配置就完成了。

  下一步启动执行机服务: 执行Jmeter bin 目录下的 jmeter-server.bat;


[attach]145561[/attach]


OK 这就启动成功了!

[attach]145563[/attach]

执行机配置

  remote_hosts 设置为执行机的ip和端口号。 多个执行机用 ,号分割:

  remote_hosts=192.168.1.103:1099,192.168.1.104,192.168.1.105

  端口号需要跟执行机的server_port保持一致,同样默认端口可以不写。


[attach]145564[/attach]

关闭ssl

  server.rmi.ssl.disable=true


  启动 Jmeter-server.bat


  到这里Jmeter 分布式集群就配置完成了。

  使用


  启动 jmeter.bat


  在控制机写完脚本之后,点击运行。

[attach]145565[/attach]


可以选择启动指定测试机,也可以启动所有测试机。

  问题


  ·各个测试机的Java版本和Jmeter 需要保持一致,防止出现问题

  启动报错 java.rmi.server.ExportException


  Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:

          java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)


  An error occurred: Listen failed on port: 0; nested exception is:


          java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)


  errorlevel=1




  原因: 没有关闭 ssl。 取消前面的#号 设置值为true。





















欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2