使用 Apache-ab 进行接口压测

一个在高压访问下,能承受很高峰值的访问并发才能称得上是一个好的网站,那么作为一个程序员,当你搭建好你的网站之后,你应该怎么测试你的网站并发访问量呢?

Apache Benchmark (简称 ab) 是 Apache 安装包中自带的压力测试工具 ,简单易用。 使用起来非常的简单和方便。 不仅仅是可以 apache 服务器进行网站访问压力测试,还可以对其他类型的服务器进行压力测试。 比如 nginx,tomcat, 等

使用方式: ab -n 100 -c 100 http//:localhost:8080/xxxx

-n 请求数

-c 并发数量

localhost/ 压测 url 域名后面要带上一个斜杠否则会报 url 无效

ab 命令会创建多个并发访问线程,模拟多个访问者同时对某一 URL 地址进行访问。它的测试目标是基于 URL 的,因此,它既可以用来测试 apache 的负载压力,也可以测试 nginx、lighthttp、tomcat、IIS 等其它 Web 服务器的压力。

ab 命令对发出负载的计算机要求很低,它既不会占用很高 CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似 CC 攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。

image.png

在 Mac 下可以直接使用,自带 ab

在 Linux 下,如果是 CentOS7

1
yum -y install httpd-tools

Windows 下需要下载

mark