Web压测工具之Webbench和http_load

2021-05-08 22:24:19 浏览数 (1)

Webbench简介

是知名的网站压力测试工具,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。 webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。 Webbench最多可以模拟3万个并发连接去测试网站的负载能力

代码语言:javascript复制
# 1.特点中规中矩,比较稳定
# 2.可以设置并发数和运行测试时间
# 3.可以对php,jsp等网页进行测试

# 综合来说,功能一般,但是胜在稳定,可以对页面进行测试并直接显示每秒响应数和流量
部署
代码语言:javascript复制
# 安装依赖编辑器
yum install -y gcc ctags make
wget http://www.ha97.com/code/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
使用案例

前面必须带http,最后面必须带/ -c指定并发,-t运行几秒,不确定每秒访问多少 webbench -c 2000 -t 2 http://192.168.2.38/

代码语言:javascript复制
#请求页面为xxx
Benchmarking: GET http://192.168.2.38/

#并发2000,运行5秒
2000 clients, running 2 sec.

#每分钟访问页面数量,每分钟字节数
Speed=409349 pages/min, 5757768 bytes/sec.

#请求13645次,失败0
Requests: 13645 susceed, 0 failed.
Http_load简介

http_load以并行复用的方式运行,用以测试Web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,其可以以一个单一的进程运行,这样就不会把客户机搞死,还可以测试HTTPS类的网站请求

代码语言:javascript复制
# 1 . 它是读取文件方式来测试,文件中可以填写多个URL
# 2 . 可以设置1000并发,执行100次
# 3 . 可以设置100个并发,执行一小时
# 4 . 可以设置每秒100个请求,请求1000次
# 5 . 可以设置每秒100个请求,执行一小时

# 适合一个网站多个页面,长久的测试,看访问压力。但因为是单线程的,导致不能并发去访问
部署
代码语言:javascript复制
yum -y install gcc cmake
# 然后创建存放说明的文件夹,否则编译报错
mkdir /usr/local/man
wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
tar -xzvf http_load-12mar2006.tar.gz
cd http_load-12mar2006
make && make install
使用案例
代码语言:javascript复制
# 首先创建url文件
vim url.txt
echo "http://192.168.2.38/" >> url.txt
# 2000并发,总数为1万
http_load -p 2000 -f 10000 url.txt


# 测试中运行了1000个请求,最大的并发进程数是270(自己设置的,但差不少),总计传输的数据是6.12e 06 bytes,运行的时间是2.74116秒
10000 fetches, 270 max parallel, 6.12e 06 bytes, in 2.74116 seconds

# 每个连接平均传输的数据量
612 mean bytes/connection

# 说明每秒的响应请求数为3648,每秒传递的数据为2.23263e 06 bytes
3648.09 fetches/sec, 2.23263e 06 bytes/sec

# 每次连接的平均响应时间是11.4839毫秒,最大响应时间1007.84,最小响应时间0.104
msecs/connect: 11.4839 mean, 1007.84 max, 0.104 min

# 说明每个请求的平均响应时间是13.4338毫秒,最大233.393,最小1.238
msecs/first-response: 13.4338 mean, 233.393 max, 1.238 min

# 说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。当前1000个都返回200
HTTP response codes:
  code 200 -- 10000 
参数
代码语言:javascript复制
# 命令格式:http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件
# 参数其实可以自由组合,参数之间的选择并没有什么限制。

# 比如你写成http_load -parallel 5 -seconds 300 urls.txt也是可以的。我们把参数给大家简单说明一下。

# -parallel 简写-p :含义是并发的用户进程数。
# -fetches 简写-f :含义是总计的访问次数
# -rate    简写-r :含义是每秒的访问频率,最大1000
# -seconds简写-s :含义是总计的访问时间

0 人点赞