siege
Siege是一款高性能的Http压力测试工具。
Siege支持身份验证、cookies、http、https和ftp协议。
安装Siege,安装方法很多,具体可以自行百度。
如果要支持https,需要先下载安装openssl, 下载地址:https://github.com/openssl/openssl
1.开始安装openssl
git clone https://github.com/openssl/openssl
cd openssl
./config --prefix=/usr/local/openssl
make
make install
openssl version
2.开始安装siege
下载地址:http://download.joedog.org/siege/siege-4.0.4.tar.gz
tar zxvf siege-4.0.4.tar.gz
cd siege-4.0.4
make clean
./configure --prefix=/usr/local/siege --with-ssl=/usr/local/openssl
make
make install
siege安装完毕注意:siege默认只支持255个并发数,可以自己自定义,修改/root/.siege/siege.conf下的limit数值。
输入参数说明
输入名称 | 解释说明 |
---|---|
-V, –version | 打印版本信息 |
-h, –help | 打印帮助信息 |
-C, –config | 显示配置信息 |
-v, –verbose | 打印冗余配置信息。 |
-g, –get | 显示HTTP交易。 |
-c, –concurrent=NUM | 设置并发用户数 |
-u, –url=”URL” | 设置被测Web的URL |
-i, –internet | 用户模拟、随机访问URL |
-b, –benchmark . | 基准测试。 |
-t, –time=NUM | 设置测试时间。 |
-r, –reps=NUM | 设置测试次数 |
-f, –file=FILE | 更改配置文件存档 |
-R, –rc=FILE | 更改siegerc文件和环境变量 |
-l, –log | 测试日志 |
-m, –mark=”text” | 标记测试日志 |
-d, –delay=NUM | 设置时间延迟 |
-H, –header=”text” | 增加测试头文件 |
-A, –user-agent=”text” | 设置代理测试请求 |
输出参数说明:
输出名称 | 解释说明 |
---|---|
Transactions: | 访问次数 |
Availability: | 成功次数 |
Elapsed time: | 测试用时 |
Data transferred: | 测试传输数据量 |
Response time: | 平均响应时间 |
Transaction rate: | 每秒事务处理量 |
Throughput: | 吞吐率 |
Concurrency: | 并发用户数 |
Successful transactions: | 成功传输次数 |
Failed transactions: | 失败传输次数 |
Longest transaction: | 最长响应时间 |
Shortest transaction: |
最短响应时间
|
常用的siege命令举例
# 200个并发对http://www.google.com发送请求100次
siege -c 200 -r 100 http://www.google.com
# 在urls.txt中列出所有的网址
siege -c 200 -r 100 -f urls.txt
# 随机选取urls.txt中列出所有的网址
siege -c 200 -r 100 -f urls.txt -i
# delay=0,更准确的压力测试,而不是功能测试
siege -c 200 -r 100 -f urls.txt -i -b
# 指定http请求头 文档类型
siege -H "Content-Type:application/json"
-c 200 -r 100 -f urls.txt -i -b
httpload
http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB。它以并行复用的方式运行,可以测试web服务器的吞吐量与负载。
一、安装http_load
A、进入/usr/local目录下创建man文件夹,并赋予权限;
[root@localhost ~]#cd /usr/local
[root@localhost local]#mkdir man
[root@localhost local]#chmod 777 man
B、进man文件夹中,下载http_load安装包;
[root@localhost local]#cd man
[root@localhost man]# wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
C、解压、并安装http_load-12mar2006.tar.gz包;
[root@localhost man]# tar zxvf http_load-12mar2006.tar.gz
[root@localhost man]# cd http_load-12mar2006
[root@localhost http_load-12mar2006]# make
[root@localhost http_load-12mar2006]# sudo make install
二、使用方法
1、每次使用前,需要先切换到http_load目录下
cd http_load-12mar2006
2、了解参数和文件
参数 | 全称 | 含义 |
-p | -parallel | 并发的用户进程数。 |
-f | -fetches | 总计的访问次数 |
-r | -rate | 含义是每秒的访问频率 |
-s | -seconds | 连续的访问时间 |
url | 网站连接地址或url文件 |
其中,“url”是http_load-12mar2006目录下其中一个文件,在使用前,先在http_load-12mar2006新建一个空白的名为urls.txt的文件,使用vi命令新建。urls.txt文件,每个URL一行,且不能有空行,否则报错。
http_load使用方式:
http_load -parallel 100 -fetches 10000
#100个并发执行10000次
http_load -parallel 100 -seconds 3600
#100个并发执行1小时
http_load -rate 100 -fetches 10000
#每秒100个请求频率,请求10000次
http_load -rate 100 -seconds 3600
#每秒100个请求频率执行1小时
iperf
iperf是一种命令行工具,用于通过测量服务器可以处理的最大网络吞吐量来诊断网络速度问题。它在遇到网络速度问题时特别有用,通过该工具可以确定哪个服务器无法达到最大吞吐量。常用来压测带宽。
CentOS 安装
- CentOS存储库没有iperf,使用EPEL存储库,它是用于在Redhat系统上安装第三方软件包的存储库
yum install -y epel-release
yum update
yum install -y iperf
iperf -h ##查看使用方法
如何使用iperf
-
必须在测试的两台服务器上同时安装iPerf。
-
默认往服务端打的是上行流量,所以要适时的选择谁做服务端,谁做客户端,或者选择双向测试。
TCP客户端和服务器举例
-
iperf需要两个系统,因为一个系统必须充当服务端,另外一个系统充当客户端,客户端连接到需要测试速度的服务端
1.服务端:以服务器模式启动iperf -s -
客户端 iperf -c 198.51.100.5
-