3

我 99% 以上的服务器请求在不到 30 毫秒的时间内得到处理。使用 New Relic,我发现偶尔会收到需要 3 到 30 秒的请求,几乎是平均时间的 1000 倍!在我调查的每一个案例中,New relic 显示 99% 以上的执行时间在 echo 语句中,其中包括:

header('Content-type: application/json');
echo $json;
exit; 

我的所有请求都使用上面的代码,并且在 99.99% 的时间里都可以正常工作(服务器每小时收到 100K 请求,但其中大约不到 20 个表现出缓慢的行为)。Newrelic 以 1 分钟为增量显示服务器资源。我已经检查过:CPU、内存使用情况、磁盘 I/O、网络 I/O 和平均负载。在长请求之前、期间和之后,它们都显得正常。

我发现这篇文章: http ://www.wonko.com/post/seeing_poor_performance_using_phps_echo_statement_heres_why

即使在使用标准缓冲大小的 echoBig 函数之后,它仍然很慢。我的 phpinfo() 显示 output_buffering = 4096

对此有什么想法吗?

4

0 回答 0