项目概览:
立项原因
- 公司需要对各个业务接口进行压力测试
- 之前一直使用的阿里云PTS,但是碰巧PTS账号压测包用光、同时费用可不便宜。
所以就有了立项的理由
因该项目只内部使用,同时个人精力、水平有限。故开源,望提升项目品质和性能、提供更好的压测服务
项目介绍:
- 在ngrinder基础上做的二次开发
- 完整功能由ngrinder、ngrinder-sampling组成,同时需要安装agent、monitor
- ngrinder-sampling负责场景的创建、ngrinder负责下发测试和报告收集、agent服务脚本测试、monitor负责代理机器的硬件使用情况
- 项目使用mysql做数据存储,场景生成脚本使用svn做版本控制,脚本由groovy生成
项目安装:
一. ngrinder
所需环境:jdk1.8、maven、idea
1. 下载 http://192.168.0.167/changli/ngrinder.git
2. 导入idea后,在父类的pom.xml文件中添加repository(因为有几个包有问题,没有发布在**仓库)
```
<repositories>
<repository>
<id>ngrinder-core</id>
<url>https://github.com/nhnopensource/nhnopensource.maven.repo/raw/master/releases</url>
</repository>
</repositories>
```
ps:如果下载有问题,可以挂上vpn进行操作。
3. 修改项目的jdk版本,设置为1.8.X
4. 将 ngrinder-controller打成的war包上传至服务器
5. 启动
```
nohup java -XX:MaxMetaspaceSize=512m -jar /root/ngrinder/ngrinder-controller-3.4.3.war --port 8080 < /dev/null &
```
6. 启动后被解压到~/.ngrinder/下, 日志查看等可到该处查看
7. 可在此时修改database.conf、system.conf系统配置、数据库链接
注意服务器要在/etc/hosts中添加ip的映射,不然会存在问题
二. ngrinder-sampling
所需环境:golang1.11.13、beego、bee
1. 下载 http://192.168.0.167/changli/ngrinder-sampling.git
2. 执行根目录下的pack.bat打包出ngrinder-sampling.tar.gz上传至服务器
3. 解压后可修改conf/app.conf文件,修改数据库、系统配置
4. 执行nuhup ./ngrinder-sampling & 启动
三. agent
1. 登陆http://192.168.0.11:8080/
2. 下载代理,获取到ngrinder-agent-3.4.3-192.168.0.11.tar
3. 上传到代理机器,解压 执行run_agent_bg.sh
四. monitor
1. 下载监控ngrinder-monitor-3.4.3.tar
2. 上传至服务器,解压 执行run_monitor_bg.sh
项目讲解:
-
公告
-
创建压测
-
压测场景
-
压测报告