jmeter分布式压力测试实践+登录为例
1、一张分布式压力的图解,如下
准备:
1、两台slave
2、一个master
3、待测目标地址 http://XXX
准备环境:linux环境,master如果可以最好有可视化电脑界面,便于jmx文件的随时修改,此处我的master是没有界面的

2、文章参考:
http://www.cnblogs.com/puresoul/p/4844539.html
3、开始分布式压力测试
步骤一: 登录master
前提:master上安装JDK和jmeter

1)ssh 192.168.10.1 --我们假设master IP为192.168.10.1
2)授权 chmod 600 /Users/Desktop/work/performance/ecs-ssh-key.pem
3)登录 (master) ssh -i /Users/Desktop/work/performance/ecs-ssh-key.pem ec2-user@192.168.10.1
--ecs-ssh-key.pem为存放在本地的登录授权证书
4)完成
步骤二:拷贝代码 login.jmx
由于master没有配置界面,我需要在我本地电脑写好代码拷贝到master
拷贝命令:
scp -i ~/Desktop/work/performance/ecs-ssh-key.pem ec2-user@192.168.10.1:/home/ec2-user/performanceTest/login.jmx ~/Desktop/work/performance/jmx
步骤三、配置两台slave
前提:安装JDK 和jmeter到两台slaves
1)连接slave
ssh -i ~/Desktop/work/performance/ecs-ssh-key.pem ec2-user@192.168.0.1
ssh -i ~/Desktop/work/performance/ecs-ssh-key.pem ec2-user@192.168.0.2
2)两台slaves 启动jmeter bin目录下的jmeter-server文件,确保jmeter服务启动
3)拷贝csv文件到slave
jmx文件只需要拷贝到master,两台slave只需要拷贝user.csv文件(csv文件为200个用户登录的实际用户名、密码)
两台slave上csv存放的文件路径需要保持一致,均放置在jmeter bin目录下
步骤四:运行jmx
方式1:修改脚本线程数运行的情况
jmeter -JthreadCount=500 -n -t login.jmx -l result.jtl -e -o ResultReport
方式2:直接运行整个jmx(推荐)
./jmeter -n -t /home/ec2-user/testFile/login.jmx -r -l /home/ec2-user/result/result.jtl
4、controller配置slave
打开master上Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.0.1:8089 192.168.0.2:8089,8089是端口号,可以随意自定义。如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来。

5、测试报告
以命令方式执行完jmeter脚本后,会生成jtl文件,需要将jtl转换成图标展示出来,便于查看测试报告
方式1:
1)
./jmeter -n -t /home/ec2-user/performanceTest/login.jmx -r -l /home/ec2-user/result/result.jtl
2)
./jmeter -g result.jtl -e -o /home/tester/apache-jmeter-4.0/resultReport
方式2:
./jmeter -n -t login.jmx -r -l result.jtl -e -o /home/tester/apache-jmeter-4.0/resultReport
参数说明:
ps:每次运行完生成的测试报告需要删除,多次运行不能覆盖
6、压缩测试报告拷贝到本机
master上压缩测试结果:(如果master有可视化界面操作,则不需要这一步,直接可在master查阅)
zip -q -r 500report.zip /home/ec2-user/performanceTest/ResultReport
拷贝压缩结果到本地,查看测试结果图表:
scp -i ~/Downloads/ecs-ssh-key.pem ec2-user@192.168.10.1:/home/ec2-user/performanceTest/500report.zip ~/Desktop/work/performance/
scp -i ~/Desktop/work/performance/ecs-ssh-key.pem ec2-user@192.168.10.1:/home/ec2-user/performanceTest/950report.zip ~/Desktop/work/performance/

命令:
删除文件:
rm -f 500report.zip --删除文件
rm -rf 500report.zip --删除文件夹
-r 向下递归,不管有多少级目录,一并删除
-f 直接强行删除,没有任何提示
jmeter分布式压力测试实践+登录为例的更多相关文章
- 性能测试工具 jmeter 分布式压力测试实操
性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...
- linux上实现jmeter分布式压力测试(转)
摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...
- 【转】Jmeter分布式压力测试
安装 下载地址:http://jmeter.apache.org/download_jmeter.cgi 安装前提(因为jmeter依赖于Java所以必须先配置好java) 下载后解压: tar -x ...
- Jmeter 分布式压力测试
JMeter中进行分布式测试 作为一个纯 JAVA 的GUI应用,JMeter对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心, ...
- Jmeter分布式压力测试
有时候,一台机器无法支持很多个虚拟用户并发,这时就会使用分布式测试来实现这个功能,jmeter是有提供这个功能的.要实现分布式测试,得在主从(agent和controler)机器的jmeter安装目录 ...
- jmeter分布式压力测试配置操作
前提准备条件:1.主控机一台为master,ip地址:10.8.88.1772.负载机一台为slave, ip地址:10.8.88.1193.主控机和负载机都安装一样的JDK环境和jmeter版本.5 ...
- Jmeter性能测试-分布式压力测试
作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...
- JMeter接口压力测试课程入门到高级实战
章节一压力测试课程介绍 1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分 ...
- 使用JMeter做压力测试
使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat ...
随机推荐
- ubuntu 客户机安装VMware tools时出现编译错误,无法与主机共享文件(转)
主机:win7旗舰版 vmware workstation 10.0.7 (其他10.x版本也有这个问题) 客户机:Ubuntu14.04.4-16.x 安装vmware tools时出现下列编译错误 ...
- python3.7安装
在Ubuntu系统带有原Python环境2.7,3.5,使用pyenv可以将其设置成最新的3.7.1,使用安装步骤如下:(防止丢失所以做了复制,复制来源:https://www.cnblogs.com ...
- Ambari对HDP的版本支持列表
截至目前最新的Ambari版本为2.6: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.3/bk_support-matrices/co ...
- NAND FLASH控制器
一.nand flash访问原理 地址空间概念 nand的编址 nand命令 命令,地址,数据 使用S3C2440的nand flash控制器访问nand flash 前几个编译出来的文件都小于4k ...
- php 直接获取url参数赋值成变量。省去繁琐的获取参数,再一个个赋值
php 直接获取url参数赋值成变量.省去繁琐的获取参数,再一个个赋值 parse_url() 该函数可以解析 URL,返回其组成部分.它的用法如下: array parse_url(string $ ...
- VirtualBox中挂载物理磁盘
注1. 详细内容请参考VirtualBox帮助文件. 注2. 需对dos命令有一定了解. 注3. 以下命令均需以管理员身份执行,VirtualBox也需以管理员身份运行. 主要应用host上的vbox ...
- Hadoop错误集:Could not find the main class: org.apache.hadoop.*
在搭建Hadoop机群的时候,之前遇见了很多次找不到类的错误,因为对Hadoop了解不深,所以就在网上漫无目的的找解决方案,所以这里总结下我用的方法. 解决办法一: 我之前遇到了找不到 org.apa ...
- 知识点-jar包
JAR文件的全称是Java Archive File,意思就是Java档案文件.通常JAR文件是一种压缩文件,与常见的ZIP压缩文件兼容,同城也被称为JAR包.JAR文件与zip文件的去区别就是在JA ...
- vue-router配合vue-cli的实例
前面在说到vue-router的时候,都是用最简单的方式说明用法的,但是在实际项目中可能会有所出入,所以,今天就结合vue脚手架来展示项目中的vue-router的用法. 创建项目 首先需要使用脚手架 ...
- 使用jquery方法的时候,要注意对象是哪个,否则很容易出错
<!DOCTYPE html><html><head><meta charset="utf-8"><title>W3Cs ...