web服务器性能测试
记录使用Apache-bench、http_load、httperf等工具测试web服务器的性能。
1. ab测试
# CentOS安装
$ yum -y install httpd-tools
# Ubuntu安装
$ sudo apt-get install apache2-utils
# 测试,-n 访问的总次数,-c 访问的并发量
$ ab -n 1000000 -c 100 http://x.x.x.x/
windosws版本:下载链接
2. http_load测试
2.1 安装
# 下载安装
$ wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
$ tar xzvf http_load-12mar2006.tar.gz
$ cd http_load-12mar2006/
$ sudo make && sudo make install
2.2 测试过程
-
创建text.txt,写入待测试的url
http://x.x.x.x:xx/index.html -
执行测试:
http_load -parallel 10 -seconds 10 test.txt
其中-parallel后面跟的是并发数,-seconds后面跟的是执行时间,所以这段话的意思是以10个并发来访问该路径10秒钟,访问完毕后会返回一些信息。
# 测试示例
$ http_load -parallel 10 -seconds 10 text.txt
160182 fetches, 10 max parallel, 7.7416e+08 bytes, in 10.0001 seconds
4833 mean bytes/connection
16018 fetches/sec, 7.7415e+07 bytes/sec
msecs/connect: 0.135117 mean, 0.794 max, 0.023 min
msecs/first-response: 0.312969 mean, 28.634 max, 0.099 min
HTTP response codes:
code 200 -- 160182
3. httperf测试
Httperf 比 ab 更强大,能测试出 web 服务能承载的最大服务量及发现潜在问题;比如:内存使用、稳定性。最大优势:可以指定规律进行压力测试,模拟真实环境。
# 镜像源安装
$ sudo apt-get install httperf
# 编译安装
$ wget https://fossies.org/linux/www/old/httperf-0.9.0.tar.gz
$ tar zxvf httperf-0.9.0.tar.gz
$ cd httperf-0.9.0
$ sudo ./configure
$ sudo make && sudo make install
$ httperf --hog --server=x.x.x.x --uri=/index.html --num-conns=10000 --wsess=10,10,0.1
参数说明:
• --hog:让 httperf 尽可能多产生连接,httperf 会根据硬件配置,有规律的产生访问连接;
• --num-conns:连接数量,总发起 10000 请求;
• --wsess:用户打开网页时间规律模拟,第一个10表示产生10个会话连接,第二个10表示每个会话连接进行10次请求,0.1表示每个会话连接请求之间的间隔时间/s。
# 测试执行
$ httperf --hog --server=127.0.0.1 --uri=/index.html --num-conns=1000 --wsess=10,10,0.1
httperf --hog --client=0/1 --server=127.0.0.1 --port=80 --uri=/index.html --send-buffer=4096 --recv-buffer=16384 --wsess=10,10,0.100
httperf: warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE
Maximum connect burst length: 1
Total: connections 10 requests 100 replies 100 test-duration 9.089 s
Connection rate: 1.1 conn/s (908.9 ms/conn, <=2 concurrent connections)
Connection time [ms]: min 908.9 avg 908.9 max 909.0 median 908.5 stddev 0.0
Connection time [ms]: connect 0.1
Connection length [replies/conn]: 10.000
Request rate: 11.0 req/s (90.9 ms/req)
Request size [B]: 72.0
Reply rate [replies/s]: min 11.0 avg 11.0 max 11.0 stddev 0.0 (1 samples)
Reply time [ms]: response 0.2 transfer 0.0
Reply size [B]: header 240.0 content 4833.0 footer 0.0 (total 5073.0)
Reply status: 1xx=0 2xx=100 3xx=0 4xx=0 5xx=0
CPU time [s]: user 3.83 system 5.26 (user 42.2% system 57.8% total 100.0%)
Net I/O: 55.3 KB/s (0.5*10^6 bps)
Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
Session rate [sess/s]: min 1.00 avg 1.10 max 1.00 stddev 0.00 (10/10)
Session: avg 1.00 connections/session
Session lifetime [s]: 0.9
Session failtime [s]: 0.0
Session length histogram: 0 0 0 0 0 0 0 0 0 0 10
标签:load,web,http,测试,10,--,httperf,服务器 From: https://www.cnblogs.com/lldhsds/p/18240567仓库地址:httperf