如何诊断NGINX / PHP慢度

时间:2019-01-08 13:51:40

标签: php nginx diagnostics

正在开发NGINX / PHP网站。 NGINX和PHP处理时间之间存在明显差异,我不知道如何诊断。

从NGINX服务器中提取JPEG很快。

ab -l -c 100 -n 10000 http://blah.com/a_40kb_file.jpg
每秒

7,700个请求。 NGINX日志说,服务时间为2到8毫秒。

拉一个PHP主页是另一回事。这是一种简单的表单,没有任何图形,因此每个连接都代表一个页面。每次下载大约3kb。每个页面都不同,因为它包含形式随机的令牌。

ab -l -c 100 -n 10000 http://blah.com/
每秒

900个请求。 NGINX日志显示服务时间介于15毫秒至250毫秒之间。没有从NGINX报告错误。 PHP-FPM抱怨达到最大pm.max_children。增加,直到没有更多错误为止。

PHP脚本在开始和结束时通过简单的microtime(true)记录执行时间。这些表明:

调用一个页面,NGINX日志时间和PHP符文时间大致一致(大约1到2毫秒)。

在模拟负载下,NGINX时间耗费了时间,但PHP执行时间保持不变。

NGINX正在某处等待某事的发生,我不知道如何诊断。有任何工具/方法可用吗?

NGINX.CONF
worker_processes auto;
worker_connections 768;

Dev平台: 1个核心VM。 Vbox 6.0。来宾:Ubuntu 18.04。英特尔i5-6260U。

0 个答案:

没有答案