1

我正在尝试将我的 TTFB 降低到 200 毫秒以下。目前超过600ms。

我的应用程序使用 Laravel 和 AsgardCMS。我实现的自定义代码很少,数据库有 28 个表,总共不到 100 条记录。

我已经安装了 Redis 缓存(并打开了缓存),然后运行php artisan optimize​​.

我还通过 Apache 使用 Nginx Engintron

基本上我已经尽可能多地消除瓶颈!

然而,在安装 Blackfire 之后,它报告说它Composer\Autoload\includeFile自己总共需要 250 毫秒(超过 299 次调用)。

Illuminate\Container\Container::build也被调用了 141 次,总时间为 49 毫秒。

我接受这样多次调用自动加载器是正常的,但它真的需要 250 毫秒吗?

我的 VPS 有 2 个内核(Intel Xeon CPU)和 4GB RAM(专用)。我刚刚从 1 核和 2GB RAM 升级,但几乎没有注意到任何区别。磁盘是SSD。顺便说一句,在 WHM/cPanel 上运行。服务器上大约有 10 个站点,但没有一个站点的流量特别高,而且这些测试都是在最安静的时期运行的。

在最后一次测试运行中,Blackfire 报告:-

Time: 696ms
I/O Wait: 149ms
CPU time: 548ms
SQL Queries: 2.38ms

有任何想法吗?漂亮请...

4

1 回答 1

1

虽然我没有深入了解服务器或 PHP 代码是否存在问题,或者是否可以预期应用程序的“缓慢”,但在此线程上的评论和评论之后@teeyo 提供的链接(https://laracasts.com/discuss/channels/laravel/adventures-in-increasing-laravel-performance)我决定测试一下PHP7

WHM 使仅为此帐户启用 PHP7 变得很容易,所以这非常简单。进行另一项测试,结果大约 400 毫秒 - 很棒,但仍不低于 200 毫秒。

所以,我决定尝试启用PHP-FPM,这也是通过 WHM 实现的功能......

他妈的我!现在我得到了大约 100 毫秒!最重要的是,如果我禁用Engintron,我会再减少 10-20 毫秒!!(尽管对于高流量站点可能不建议这样做,因为那样它不会从nginx反向代理中受益)。

无论如何,谢谢大家的意见......希望这对其他人有帮助......

于 2017-10-12T15:40:33.590 回答