我发现php和cgi模式之间的性能差异很大:
cli:
set : 1.853 seconds 54 qps
get : 2.226 seconds 45 qps
incr : 1.577 seconds 63 qpscgi:
set : 1.063 seconds 94 qps
get : 0.829 seconds 121 qps
incr : 1.037 seconds 96 qp是巧合吗?或者有什么原因造成这种差异?
发布于 2016-06-21 09:01:44
考虑一下,当您使用php作为apache模块时,当有人攻击您的web服务器时,会创建包含php的apache进程,而apache进程调用php。因此,一个主要的区别是,当您在cli模式下执行php脚本时,直接调用php,但是当使用apache时,首先调用apache,apache有自己的初始化,然后调用php,然后php将结果返回给apache,然后apache将结果返回给已命中服务器的http客户机。
发布于 2022-01-19 08:03:12
甚至考虑一下,也许通过Apache的PHP已经启用了OpCache,这可以极大地提高您的脚本性能。在我的场景中,调用radius集成的PHP脚本以100 my的速度通过CLI运行。以相同的脚本向apache卷曲,在25 to内运行。性能提升的另一个原因可能是您使用静态池运行PHP。这减少了Apache调用和分叉一个新PHP进程来运行脚本的时间。在数千次调用与我的脚本相同的环境中,这可能是至关重要的。
https://stackoverflow.com/questions/37939799
复制相似问题