我试图让我的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
有什么想法吗?非常好......
答案 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
反向代理中受益。
无论如何,感谢所有人的投入......希望这有助于其他人......