Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92461
  • 博文数量: 21
  • 博客积分: 568
  • 博客等级: 中士
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-31 10:29
文章分类
文章存档

2014年(1)

2012年(6)

2011年(14)

我的朋友

分类: LINUX

2012-03-31 13:22:19

一、功能介绍:

1)分布式压力测试工具,利用在线数据可以测试系统能够承受的压力大小,也可以提前发现bug
2
)如果后端的连接是短连接并且请求体不大,可以应用于热备份(据说请求丢失率一般都非常低”1/10”)
3
)普通上线测试,可以发现新系统是否稳定,提前发现上线过程中会出现的诸多问题,让开发者有信心上线
4
)对比试验,同样请求,针对不同或不同版本程序,可以做性能对比等试验
5
)利用级联tcpcopy或者利用代理进行多份复制,可以构造无限在线压力,满足中小网站压力测试要求

 

二、测试环境:

XX.XX.28.7:  模拟线上服务器

环境设置

IP XX.XX.28.7

模拟线上服务器

备注

硬件环境

CPU 4

内存 512M

 

软件环境

LIGHTTPD

PHP

 

XX.XX.28.11:  模拟测试服务器

环境设置

IP XX.XX.28.11

模拟线上服务器

备注

硬件环境

CPU 4

内存 512M

 

软件环境

LIGHTTPD

PHP

 

XX.XX.28.11: 压力服务器

环境设置

IP XX.XX.28.13

压力服务器

备注

硬件环境

CPU 4

内存 512M

 

软件环境

webbench

 

 

 

 

三、软件安装:

在测试机和线上服务器分别安装

找最新的版本,或者稳定的版本,我测试的是tcpcopy-0.3.1.tar.gz

./configure

make

make install

 

四、软件启动:

测试机:

modprobe ip_queue # 添加 ip_queue 模块,可以使用lsmod检查是否加载

iptables -I OUTPUT -p tcp --sport 'port' -j QUEUE # 昨天折腾很久就是因为这条没执行。Port为需要复制的端口号

./interception #在安装目录执行,/usr/local/bin

 

线上服务器:

./tcpcopy 本地IP 本地端口 远处服务器IP 远处服务器端口

例如:

/usr/local/bin/tcpcopy xx.xx.28.7 80 xx.xx.28.11 80

就是把xx.xx.28.7 80数据复制至远方xx.xx.28.11 80

 

参考文档:

 


五、数据视图

 

六、 测试结果

测试参数:

webbench -c 4000 -t 20

测试代码

test_1.php

$num= $_GET['num'];

$sum=0;

 

for ( $i=0 ; $i < $num ; ++$i )

{

        $sum += $i ;

}

echo $sum;

?>

通过对比access.log文件条数:

线上服务器 147385

测试服务器 67627  丢失率在54.1%

阅读(1890) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~