我有FreeBSD服务器(HT,SSD,32Gb RAM的16核心),每天约有40M的HTTP请求。 所有请求都由nginx + php-fpm 。


在这些图表中,您可以看到在交通高峰期我们遇到了问题。 我不是系统pipe理员,请解释什么是“活动连接”,“写入”,“等待”,“正在读取”以及当服务器无法快速处理请求时为什么“写入”增加?
这里有一些更多的CPU,内存和负载平均图。



正如你所看到的,CPU和内存没有什么奇怪的事情发生,但Load Average也有一个高峰。
在这个Load Average高峰期间,我注意到在php-fpm.sock上有一个不存在的队列
netstat -Lan | grep php-fpm unix 2525/0/32246 /tmp/php-fpm.sock
队列中的成员数从0到12000不等。当值为0时 – 一切正常,我在60-100毫秒内得到http响应。 当值为5000-12000时可能需要3-10秒。
我也检查了是否有任何不寻常的进程,但无法find任何东西。
以下是几分钟前截图(现在一切正常,没有stream量高峰): 
我的结论是:根据CPU和内存图,我可以说这个服务器可以提供越来越多的请求,但是由于php-fpm的非最优化工作,在交通高峰期是不可能的。
有关如何解决这个问题的任何build议?