【问题标题】:Laravel High CPU usage - PHP-FPMLaravel 高 CPU 使用率 - PHP-FPM
【发布时间】:2016-07-14 12:49:36
【问题描述】:

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

我在 2 个环境中进行了检查:
答:
Nginx 平衡器 - 2 个 CPU,2GB。
PHP-FPM 服务器 - 1 个 CPU,1GB。
MySQL 服务器 - 2 个 CPU,2GB。

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

现在,我开始使用 JMeter 对其进行更深入的调查:
JMeter 设置:

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

    Route::get('/test', function() { 回声“测试”; });

结果:1​​00% 的 CPU 大约需要 40 秒。

  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

我在这里错过了什么?
提前致谢。

【问题讨论】:

  • 所以你优化了 laravel php artisan optimize 和 composer composer dump-autoload --optimize?
  • 您是否使用 Forge 进行配置?
  • 我还遇到了简单的“hello world”应用程序的 cpu 使用率 100% 问题。有解决办法吗?
  • @CP-Soni 不,我已经停止在大型项目中使用 Laravel,并且基本上开发了我自己的框架,该框架基于我自己的需要的 slimframework。不过,试试 Kurucu 的建议,说不定对你有用。
  • 你检查过 Laravel 是在dev 还是prod 环境下运行的?

标签: php laravel laravel-4 laravel-5


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 2018-03-19
    • 2017-10-14
    • 2013-05-29
    • 2020-08-25
    • 2012-03-14
    • 2017-02-18
    • 2023-03-10
    相关资源
    最近更新 更多