gpt4 book ai didi

php - 通过 unix socket 与 ab 和 wrk 对 PHP 进行基准测试

转载 作者:搜寻专家 更新时间:2023-10-31 21:58:11 26 4
gpt4 key购买 nike

当通过 unix 套接字对常规 PHP 5.6 进行基准测试时,结果比 tcp 端口好很多数量级。

当我运行这样的命令时:

$ ab -k -n 10000 -c 1000 http://127.0.0.1/api/user/1

我平均每秒收到 3272 个请求。

但是使用 tcp 端口而不是 unix 套接字我每秒得到 6.5 个请求。

与工作

$ wrk -t1 -c1000 -d5s http://127.0.0.1:80/api/user/1

在 unix 套接字上:每秒 6500 个请求

在 tcp 端口上:每秒 300 个请求

当我得到这些结果时,我应该如何使用这些基准来了解我的服务器和代码如何处理负载?

我应该相信 tcp 端口还是 unix 套接字?

最佳答案

您可以相信 abwrk 数字。

因此,您应该在生产环境中使用 Unix Sockets:

  1. Unix 域套接字使 nginx 与 php-fpm 通信更快,并且使用更少的资源,因为 TCP 作为协议(protocol)在 Unix 套接字上有开销,即使在环回上也是如此。你的数字表明了这一点。

  2. Unix 域套接字不可路由,因此无法从外部访问它们,因此它们通常被认为比本地通信的 TCP 更安全。禁用防火墙可能允许外部进程直接访问 php-fpm,而对于 Unix 套接字,这是不可能的,但根据定义它们是本地的。

当然,主要的瓶颈是客户端和 nginx 之间的通信,使用 HTTP/TCP,但至少你可以确信你的服务器内的一切都尽可能好,通过为 php-fpm 使用 Unix 套接字.

关于php - 通过 unix socket 与 ab 和 wrk 对 PHP 进行基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269251/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com