Laravel 高 CPU 使用率 - PHP-FPM

Jac*_*ack 7 php laravel laravel-4 laravel-5

我使用的是 Laravel 4.2,当我浏览页面时,PHP-FPM 会飙升至 10-20%。

我在 2 个环境中检查了它:
A:
Nginx Balancer - 2 CPU,2GB。
PHP-FPM 服务器 - 1 个 CPU,1GB。
MySQL 服务器 - 2 个 CPU,2GB。

B:
1 个 CPU、1GB 的 linode 上的简单 VPS。
*所有服务器上的SSD。

现在,我开始使用 JMeter 更深入地研究它:
JMeter 设置:

Number of Threads(users) - 100.
Ramp-Up Period(in seconds) -  1.
Loop Count - 5.
Run Code Online (Sandbox Code Playgroud)
  1. Laravel 4.2,将请求发送到:

    Route::get('/test', function() { echo "Test"; });

结果:大约 40 秒的 CPU 处于 100%。

  1. Laravel 5.2(全新安装),将请求发送到欢迎页面。
    结果:CPU 使用率 100% 持续 20 秒。

  2. Phalcon(全新安装):将请求发送到 Hello world 页面。
    结果:CPU 使用率为 50%,持续 2 秒。

  3. Codeiginiter(rest api server, same config):将请求发送到从数据库加载数据的页面(返回 JSON)。
    结果:CPU 使用率为 55%-60%,持续 3 秒。

    • 两种环境下的结果相同。
    • 禁用调试模式、数据库连接、更改配置等。
      PHP-fpm 配置:
      pm.max_children = 9
      pm.start_servers = 3
      pm.min_spare_servers = 2
      pm.max_spare_servers = 4

我知道 Laravel 应该更慢,但我怀疑差异应该那么大?我用谷歌搜索了几个小时,我遇到了一些与我的问题相同但没有任何解决方案的帖子:

http://laravel.io/forum/09-25-2014-what-steps-should-i-take-to-reduce-laravels-high-cpu-load
http://laravel.io/forum/08-12 -2014-cpu-load-general-performance-question

我在这里缺少什么?
提前致谢。

Yer*_*rke 2

这可能听起来很明显并且偏离主题,但请确保您的 PHP 安装包含 OPCache 扩展php-opcache。这对我帮助很大。

OPCache 通过将预编译的脚本字节码存储在共享内存中来逐渐提高 PHP 性能,sot 不会为每个请求重复加载/解析脚本。

您可以从PHP OPCache 文档获取更多信息