Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器以及电子邮件代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。

wrk 是一款针对 Http 协议的基准测试工具,它能够在单机多核 CPU 的条件下,使用系统自带的高性能 I/O 机制,如 epoll,kqueue 等,通过多线程和事件模式,对目标机器产生大量的负载。
基本上,所有后端的服务的接入,入口都是 Nginx 或经过 Nginx ,所以它的性能就会尤其重要。
测试 Nginx ,主要测试 HTTP 接口的处理能力。
HTTP 接口的测试工具有如下几个:
因为测试nginx只关注 QPS(每秒响应请求数) 的,所以选择了 Wrk 作为测试工具
git clone https://github.com/wg/wrk.git
cd wrk
make
wrk的参数列表

-c :需要模拟的连接数。-t :并发的线程数。-t 个线程,模拟 -c 个并发请求。wrk 使用异步非阻塞的 io 的方式,并不是用线程去模拟并发连接,因此不需要设置很多的线程,一般根据 CPU 的核心数量设置即可。-d :测试的测试时长。-s :指定 Lua 脚本的路径。--header :指定请求带的 Header 参数。--latency :是否打印请求延迟统计。--timeout :设置请求超时时间。-v :显示 wrk 版本信息。./wrk -t50 -c400 -d30s http://127.0.0.1
-t50 参数,设置 50 并发线程。-c400 参数,设置 400 连接。-d30s 参数,设置执行 30s 的时长的 HTTP 请求。http://127.0.0.1 参数,请求本地的 Nginx 服务。执行结果

QPS = requests/cost_time
= 1084727/30.10
通过QPS可以评估nginx的性能
Nginx 是什么、为什么、怎么用? - 知乎 (zhihu.com)