文档章节

用Ngrinder轻松进行性能测试

anglix
 anglix
发布于 2015/11/28 21:03
字数 485
阅读 1284
收藏 11

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的服务器),结果如下:

测试结果

  1. 本次测试以nginx状态页为例
  2. 虚拟用户乘10倍增加,响应时间几乎也同级增加
  3. 然而虚拟用户数增加,每秒响应请求数并没有质的增加
  4. 当虚拟用户数过6万时,服务器出现拒绝访问

[Sat Nov 28 19:04:46 2015] TCP: TCP: Possible SYN flooding on port 80. Sending cookies. Check SNMP counters.

附加信息

  • 然而 LoadRunner 并不支持 Debian 系统:

LoadRunner安装

© 著作权归作者所有

共有 人打赏支持
anglix

anglix

粉丝 31
博文 35
码字总数 17615
作品 0
珠海
系统管理员
使用nGrinder实现性能测试驱动开发

来自 : Performance Driven Development 作者 : Juno.Yoon 使用nGrinder实现性能测试驱动开发 在许多项目中,开发者们通常不会在项目中期就考虑到各种非功能性要点。他们经常只是专注于功能...

nGrinderChina
2013/03/06
0
0
nGrinder在大型组织中的实际布署和应用

原文 : nGrinder Real Deployment in the Large Organization By JunHo.Yoon 我们的公司,NHN,拥有多个大型的产品。其中一个是韩国最受欢迎的搜索门户网站NAVER,拥有超过5千万的用户。另一个...

nGrinderChina
2013/03/12
0
0
开源nGrinder-3分钟学会世界上最简单但潜力无限的压力工具

nGrinder运行一个压力测试只需3步启动1个test: 1)Python脚本编写测试场景;2)配置虚拟用户数,周期,步长控制,资源监控;3)运行结束报告自动生成,TPS/MeanTime/Errors, 监控CPU/Memor...

nGrinderChina
2013/02/20
0
0
nGrinder-世界上最简单但潜力无限的压力工具

此次此刻,我很高兴能把nGrinder-也许是这世界上最简单但潜力无限的压力工具介绍给大家。我是Emily, 来自NDT(nGrinder开发团队)的发言人。 下面这些问题正在烦扰着你么? -想要优化你的网...

nGrinderChina
2013/01/31
0
0
在eclipse代建nGrinder开发环境

本文介绍如何用eclipse搭建nGrinder开发环境! 首先向大家推荐 Spring Tool Suite (STS) 作为开发平台,因为它很好的集成Git和Maven等工具,让开发项目变得更方便快捷。 下面开发搭建nGrinde...

Matt_MYB
2013/02/01
0
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

day63-20180821-流利阅读笔记-待学习

性别歧视在日本:“我是女生,所以社会不让我学医” 毛西 2018-08-21 1.今日导读 大家在看病的时候,有留意过女医生的比例吗?在性别歧视现象十分严重的日本,男医生和女医生的比例达到了惊人...

aibinxiao
53分钟前
2
0
Ubuntu18.04 显卡GF-940MX安装NVIDIA-390.77

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动: (a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers (b)下载后好放在英文路径的目录下,怎么简单怎么来...

AI_SKI
今天
4
0
深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
今天
1
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
今天
2
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部