目录
Apache Benchmark,通常称为 "ab",是一个用于测试 Web 服务器性能的工具。它是由 Apache HTTP 服务器项目提供的一个命令行工具。"ab" 工具可以模拟多个并发用户发送请求到指定的 URL,然后测量服务器的响应时间和性能。
你可以使用 "ab" 工具来评估一个 Web 服务器在不同负载情况下的性能表现。这对于测试服务器的并发处理能力、响应时间、吞吐量等指标非常有用。"ab" 工具提供了许多参数来配置测试,例如请求的总数、并发用户数、请求超时时间等。
使用Apache Benchmark 对http服务器进行压测分析,测试网络库的并发处理能力。
(setThreadNums = 4)
安装:
Apache Benchmark 工具,需要安装 Apache HTTP 服务器的 "httpd" 软件包
执行:
ab -n 1000000 -c 1000 -k http://127.0.0.1:8000/hello
-n 1000000:指定要执行的请求数量,这里是 1000000 个请求。
-c 1000:指定并发级别,即同时发送的并发请求数量,这里是 1000。
-k:使用 Keep-Alive 长连接,这样可以减少连接建立的开销。
http://127.0.0.1:8000/hello:指定要测试的目标 URL,这里是 http://127.0.0.1:8000/hello。
ab 工具会发送 1000000 个请求到指定的 URL,每次并发发送 1000 个请求,使用 Keep-Alive 长连接。测试的目标 URL 是 http://127.0.0.1:8000/hello,所以它会发送 GET 请求到本地的 8000 端口上的 /hello 路径。
结果信息:
Concurrency Level: 1000 并发级别,指同时发送请求的并发用户数
Time taken for tests: 48.376 seconds 测试所花费的时间
Complete requests: 1000000 完成的请求数量
Failed requests: 0 失败的请求数量
Keep-Alive requests: 1000000 使用 Keep-Alive 长连接的请求数量
Total transferred: 118000000 bytes 总共传输的字节数
HTML transferred: 14000000 bytes HTML 内容传输的字节数
Requests per second: 20671.60 [#/sec] (mean) 每秒请求数量
Time per request: 48.376 [ms] (mean) 每个请求的平均时间
Time per request: 0.048 [ms] (mean, across all concurrent requests)
Transfer rate: 2382.08 [Kbytes/sec] received 传输速率