使用Blackfire Profiling识别Laravel应用程序的瓶颈

时间:2017-10-12 12:25:10

标签: php laravel-5 blackfire asgardcms

我试图让我的TTFB降到200毫秒以下。目前它超过600毫秒。

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

我已经安装了Redis缓存(并启用了缓存),并运行php artisan optimize

我也通过Engintron在Apache上使用Nginx。

基本上我试图消除尽可能多的瓶颈!

但是,在安装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 btw上运行。服务器上大约有10个站点,但都没有特别高的流量,这些测试都是在最安静的时间内运行的。

在上一次测试中,Blackfire报道: -

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

有什么想法吗?非常好......

1 个答案:

答案 0 :(得分:0)

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

WHM只为这个帐户启用PHP7很容易,所以这非常简单。跑了另外一个大约400毫秒的测试 - 真棒,但仍然不到200毫秒。

所以,我决定尝试启用PHP-FPM,这也是WHM的犯罪......

F ***我!现在我快走了100ms!最重要的是,如果我禁用Engintron,我再削减10-20毫秒!! (虽然这可能不适用于高流量网站,因为它不会从nginx反向代理中受益。

无论如何,感谢所有人的投入......希望这有助于其他人......