Apache http server ab工具

Windows系统下,使用Apache http 服务器自带的ab(Apache HTTP server benchmarking tool)压力测试工具。

下载Apache http server

解压 httpd-2.4.51-o111l-x86-vc15.zip

在解压后的文件夹中找到bin目录下的ab.exe工具,这个ab.exe就是我们即将使用的http server压力测试工具

使用bin目录下的ab.exe

  • 查看官方使用文档
  • ab -n -c 实际应用说明
    每个浏览器对同一个域名都有一个并发连接数限制,比如一个网站有11个css/js/image的资源要加载,如果一个浏览器的并发链接数是6,那么会先并发请求14个资源中的6个,然后请求另外5个。

现在我们假设 index.html 页面代码如下:

<html>
<head>
  <link rel="stylesheet" type="text/css" href="1.css">
  <link rel="stylesheet" type="text/css" href="2.css">
  <link rel="stylesheet" type="text/css" href="3.css">
  <script src="4.js"></script>
  <script src="5.js"></script>
  <script src="6.js"></script>
  <style>
    body{backend-image:url('7.jpg')}
  </style>
</head>
<body>
   <img src="8.jpg"/>
</body>
</html>

一共有8个css/js/image资源,加上 index.html 自身 一共有9个资源要加载。游览器会先请求 index.html 获取其内容,然后解析它的DOM,之后开启6个并发连接去获取前6个资源,然后继续并发获取后2个资源。

因此,如果我们要用 Apache Bench 来模拟这一次游览器的访问动作(从加载index.html然后到其包含的8个资源加载完成),"-n" 和 “-c” 参数可以设置成:

$ ab -c 6 -n 9 http://xx

-c 设置为6是因为这个游览器的并发连接数是6,-n 设置为9是因为 index.html 和其需要的资源一共有9个。

这里有一个地方没有解决,就是网址填什么。因为我们要测试的是一个游览器加载完这个 index.html 页面所耗时间,那我们假设 index.html 和 它的css/js/image这些资源各占10kb。因此,我们可以创建一个10kb的文件,然后网址填这个文件的路径:

$ ab -c 6 -n 9 http://localhost/10kb.txt

执行结果:

在这里插入图片描述

结果总用时8ms加载整个页面的资源。

现在我们要测试10个用户并发访问这个页面,因为游览器并发连接数为6,所以 -c 就等于 10*6=60, -n 为9:

$ ab -c 60 -n 9 http://localhost/10kb.txt

在这里插入图片描述

会发现报错,因为ab不能让并发数大于请求数,那我们改变这个页面的资源数。假设现在 index.html 页面需要加载449个资源,加上它自身,就是450个资源,游览器并发连接数依然为6,测试9个用户并发访问这个页面:

$ ab -c 54 -n 450 http://localhost/10kb.txt

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值