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

时间:2022-02-25 11:43:09

        今天在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