先谢过大佬了
我在虚拟机里部署了 NGINX
在虚拟机上用 ab 来压测,将 NGINX 作为静态 HTTP 服务器
压测命令:ab -n 100000 -c 4 http://localhost/
压测过程持续 10 多秒
ab 用的不是长连接,所以我认为 master 作为监听 80 端口的进程,会不停收到建立 TCP 连接的请求,并把这些请求交给 worker 处理,worker 负责建立连接。
我认为这个转交请求给 worker 的过程也应该消耗 CPU ,但是 top 命令只能看到 worker 消耗了 CPU ,master 一直是 0 CPU 没有动静
(有 8 个 worker 进程,我只监听了 1 个)
压测时我看 worker 进程开了 8 个,
而 ab 的并发度-c 参数到 2 的时候就到上限了( 2w QPS ),再增加并发度也不会提升 QPS 了,理论上来说不是应该到 8 (和 worker 数相近)的并发度才到 QPS 上限吗?
原以为是单点的 master 进程到上限了,但是如问题 1 所述,master 却没有消耗 CPU
另外给 ab 增加-k 参数,用长连接的方式来压测,可以到 5w QPS (不知道这条信息有没有用)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.