用Ngrinder轻松进行性能测试
2015-11-28 21:03
806 查看
Ngrinder入门
安装
基础环境
以 Ngrinder-3.2.3 为例,建议用 JDK-1.6:mkdir -pv /data/{app,log}
wget -P /data/log dl.higkoo.com/{jdk1.6.0_45.tgz,ngrinder-controller-3.2.3-with-tomcat.tar.gz,ngrinder-core-3.2.3-agent-package.tar.gz}
tar -C /data/app -zxvf /data/log/jdk1.6.0_45.tgz
tar -C /data/app -zxvf /data/log/ngrinder-controller-3.2.3-with-tomcat.tar.gz
tar -C /data/app -zxvf /data/log/ngrinder-core-3.2.3-agent-package.tar.gz
ln -s /data/app/jdk1.6.0_45/bin/java /usr/sbin/java
控制台管理
控制端是 tomcat 启动的服务(默认端口 8080 / 默认帐号 admin/admin):export JAVA_HOME=/data/app/jdk1.6.0_45
/data/app/apache-tomcat-6.0.35/bin/startup.sh
负载生成器
启动的第1个参数填控制台的IP地址或域名export JAVA_HOME=/data/app/jdk1.6.0_45
/data/app/ngrinder-core-3.2.3/run_agent_bg.sh 192.168.10.31
编写测试脚本
如下脚本为常用 GET、POST 带参数和自定义HTTP头的方法:private static final String URL = "http://api.higkoo.com:9080/status";// 请求使用的URL private static final NVPair[] PARAMS = [ new NVPair("color", "Magic"), new NVPair("expect", "Miracle"), ] as NVPair[]; // 请求的参数列表 private static final NVPair[] HEADERS = [ new NVPair("Cookie", "date=20151128;path=/"), new NVPair("User-Agent", "nGrinder"), ] as NVPair[];// 自定义头信息 @Test public void test(){ HTTPResponse result = request.GET(URL, PARAMS, HEADERS) // request.POST(URL, PARAMS, HEADERS) if (result.statusCode == 301 || result.statusCode == 302) { grinder.logger.warn("Warning. The response code was {}.", result.statusCode); } else { assertThat(result.statusCode, is(200)); } }
执行压测
测试过程要对和个服务器的资源使用情况有所了解,下图展示过程中 控制端、被测试的服务端,以及可爱的肉鸡的top图:
不断增加虚拟用户数(15台24核32G的服务器),结果如下:
本次测试以
nginx状态页为例
虚拟用户乘10倍增加,响应时间几乎也同级增加
然而虚拟用户数增加,每秒响应请求数并没有质的增加
当虚拟用户数过6万时,服务器出现拒绝访问
[Sat Nov 28 19:04:46 2015] TCP: TCP: Possible SYN flooding on port 80. Sending cookies. Check SNMP counters.
附加信息
然而LoadRunner并不支持 Debian 系统:
相关文章推荐
- Debian灾难性漏洞
- Debian 6.02 (squeeze)下编译安装 MySQL 5.5的方法
- Debian中完全卸载MySQL的方法
- debian安装后sudo命令不能用的解决方法
- 在Debian系统下配置LNMP的教程
- Debian 7 和 Debian 8 用户安装 Java 8的方法
- 簡單設定 exim4 以不同身份郵寄,不用 root
- Debian系统关闭iptables的conntrack跟踪
- 更新Debian内核e1000e驱动模块
- debian 源码编译安装MySQL 5.6.22
- debian ubuntu 安装32bit的libXp.so.6
- Debian 5.0.0 Lenny安装全过程
- 基於 KVM 與 libvirt 的虛擬化叢集系統-Debian 篇
- Debian vim没有颜色的解决办法
- LoadRunner基础知识问答
- Loadrunner脚本录制常见问题整理
- loadrunner之录制下载文件
- Debian 安装与卸载包命令(APT&&DPKG)
- debian---nano转VIM