我正在尝试将TTFB降低到200ms以下。目前超过600ms。
我的应用程序使用Laravel和AsgardCMS。我只实现了很少的自定义代码,数据库有28个表,总共不到100条记录。
我已经安装了Redis缓存(并打开了缓存),并运行了php artisan optimize。
我也通过Engintron在Apache中使用Nginx。
基本上,我已经尽我所能消除了瓶颈!
然而,在安装Blackfire之后,它报告说Composer\Autoload\includeFile自己总共花费了250ms (超过299次调用)。
Illuminate\Container\Container::build也被调用了141次,总时间为49ms。
我承认自动加载器被调用这么多次是很正常的,但它真的应该花250毫秒吗?
我的VPS有两个核心(Intel Xeon CPU)和4 4GB (专用)。我刚刚从1核和2 2GB内存升级,但几乎没有注意到任何区别。磁盘是固态硬盘。在WHM/cPanel btw上运行。服务器上大约有10个站点,但都没有特别高的流量,并且这些测试都是在最安静的时间运行的。
在最后一次测试中,Blackfire报告:
Time: 696ms
I/O Wait: 149ms
CPU time: 548ms
SQL Queries: 2.38ms有什么想法吗?求你了..。
发布于 2017-10-12 23:40:34
虽然我没有弄清楚到底是服务器有问题,还是PHP代码有问题,或者应用程序的“慢”是意料之中的,但在看到这个帖子上的评论和@teeyo (https://laracasts.com/discuss/channels/laravel/adventures-in-increasing-laravel-performance)提供的链接的评论后,我决定测试一下PHP7。
WHM使得只为这个帐户启用PHP7变得很容易,所以这非常简单。运行了另一个测试,结果大约是400ms -太棒了,但仍然不低于200ms。
所以,我决定试着启用PHP-FPM,它也是一个通过WHM的sinch…
最重要的是,如果我禁用了Engintron,我会再减少10-20毫秒!(虽然对于高流量站点可能不推荐这样做,因为这样就不会从nginx反向代理中受益)。
无论如何,感谢你们的投入……希望这对其他人有帮助。
https://stackoverflow.com/questions/46709568
复制相似问题