保证 server 运行

1
./server

压测

1
2
3
4
5
6
7
8
9
10
11
$ cd test_pressure/webbench-1.5

./webbench -c 500 -t 5 http://127.0.0.1:9006/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://127.0.0.1:9006/
1000 clients, running 5 sec.

Speed=220188 pages/min, 411152 bytes/sec.
Requests: 18349 susceed, 0 failed.
  • QPS 是什么:

QPS(Queries Per Second,每秒查询率)是衡量系统吞吐量的核心指标,代表服务器每秒能处理的有效请求数量。

  • QPS 如何计算:
1
QPS = 总有效请求数 ÷ 总耗时(秒)

因此,上述压测的 QPS = 18349 / 5 = 3669.

webbench 原理

  • 父进程 fork 若干个子进程,每个子进程在用户要求时间或默认的时间内,对目标 web 循环发出实际访问请求

  • 父子进程通过管道进行通信,子进程通过管道写端向父进程传递在若干次请求访问完毕后记录到的总信息,父进程通过管道读端读取子进程发来的相关信息

  • 子进程在时间到后结束;父进程在所有子进程退出后,统计并给用户显示最后的测试结果,然后退出