CentOS6.3下压力测试工具Siege的并发测试

时间:2021-06-15 11:43:01

        今天在CentOS 6.3下做了Siege工具的压力测试,主要是测试一下Siege工具的使用。

我的环境如下:

操作系统:CentOS 6.3

开发环境:Nginx1.0 + PHP5.3 + php-fpm(nginx开启2个worker进程,php-fpm最大开启30个worker进程)

硬件环境:1G内存 + i5英特尔4核CPU

 

1:安装Siege

>wget http://www.joedog.org/pub/siege/siege-2.70.tar.gz 

>tar zxf siege-2.70.tar.gz 

>cd siege-2.70/ 

>./configure

>make && make install


2:安装成功后,通过whereis siege命令查看siege安装的路径得知,siege帮我们安装了如下重要的文件(系统不一样可能路径不一样):

/usr/local/var/siege.log:测试记录,每一次测试的结果都存在该文件中

/usr/local/bin/siege.config:siege的核心配置文件

/usr/local/bin/siege:siege可执行文件

/usr/local/etc/urls.txt:siege在运行时从urls.txt文件中获得需要测试的url地址

 

3:本次测试用到了gearman(参见我的博客:Gearman中文手册技术文档分享chm)来分配异步任务,所以每一个请求都会以异步的形式发送到gearman处理,我这里启动了一个gearman job进程,启动了10个worker进程,每一个worker进程在接到任务时都做了0.5秒的耗时操作,每一个client.php文件以异步的方式将任务发送到gearman同时也进行了0.5秒的耗时操作,worker.php和client.php都比较简单,这里不再给出。

 

4:我在/usr/local/etc/urls.txt文件中加了一个网址:http://localhost/client.php,我要测试的就是这个网址。

 

5:执行测试:

>siege -c 100 -r 1000   #-c参数代表模拟有n个用户在同时访问,-r参数代表重复运行测试n次,不能与-t同时存在

#我这里运行了很久,10万次请求,哈哈,运行了结束后显示结果如下
Transactions:        100000 hits		#完成30000次处理
Availability:        100.00 %        	#100.00 % 成功率
Elapsed time:        1693.72 secs		#总共使用时间
Data transferred:         0.38 MB		#共数据传输0.38MB
Response time:            1.18 secs		#响应时间,显示网络连接的速度
Transaction rate:         59.04 trans/sec     #平均每秒完成59.04次处理
Throughput:               0.00 MB/sec         #平均每秒传送数据
Concurrency:              69.39               #实际最高并发连接数
Successful transactions:      100000          #成功处理次数
Failed transactions:          0               #失败处理次数
Longest transaction:          4.73            #每次传输所花最长时间
Shortest transaction:         0.50            #每次传输所花最短时间

6:也可以查看siege的日志文件:

>cat /usr/local/var/siege.log