1、拉镜像
sudo docker pull zhanghao921/linux_locust:v1
2、创建镜像并进入容器(-p指定映射端口,非常重要,不然本地无法访问)
(踩坑:之前没用容器,执行机和主机之间通信不用指定端口,默认端口是5557;现在用了容器就要指定容器之间通信端口)
sudo docker run -it -p 8089:8089 -p 5557:5557 zhanghao921/linux_locust:v1 /bin/bash
3、ctrl+p+q 退出容器(最小化退出,实际还在后台)
4、rz命令上传本地文件到服务器
5、查看容器ID
sudo docker ps -a
6、复制脚本到刚才创建的容器(容器ID:0b546f95893c)
sudo docker cp test_overseaLaucher_aliweight.sh 0b546f95893c:/home
sudo docker cp stress_test_oversea.zip 0b546f95893c:/home
7、再次进入容器
sudo docker exec -it 0b546f95893c /bin/bash
8、unzip解压上传的zip文件
mv test_overseaLaucher_aliweight.sh stress_test_oversea
vim test_overseaLaucher_aliweight.sh(去修改脚本,保证路径是对的)
rm -rf stress_test_oversea.zip
chmod -R 777 stress_test_oversea/
cd stress_test_oversea/
9、执行压测(--master参数非常重要,不然不会知道这是主执行机)
nohup locust -f locustfiles/oversea_launcher.py --master --host=http://zmapi.dangsfly.com &
./test_overseaLaucher_aliweight.sh
10、容器安装killall命令
yum install -y psmisc
11、结束命令
killall locust
12、执行机服务器操作
sudo docker run -it -p 5557:5557 zhanghao921/linux_locust:v1 /bin/bash
(主机的内网ip或者外网ip都可以)
数据上传同上面一样
./test_overseaLaucher_worker.sh
13、只压测指定的接口方法
locust -f locustfiles\sony_2022_kidmodul_role.py -T tag1 --host=http://lvhutytestapi.v5tv.com