我正在努力将TTFB降低到200ms以下。目前已超过600毫秒。
我的应用程序使用Laravel和AsgardCMS。我实现了很少的自定义代码,数据库有28个表,总共不到100条记录。
我已经安装了Redis缓存(并打开了缓存),并运行了php artisan optimize
。
我还通过Engintron
将Nginx与Apache一起使用。
基本上,我已经尽可能多地消除了瓶颈!
然而,在安装Blackfire后,据报道,ComposerAutoloadincludeFile
本身总共需要250毫秒(超过299次呼叫)。
CCD_ 4也被呼叫141次,总时间为49ms。
我承认自动加载器被多次调用是正常的,但它真的需要250毫秒吗?
我的VPS有两个核心(英特尔至强CPU)和4GB RAM(专用)。我刚从1核和2GB RAM升级,但几乎没有注意到任何区别。磁盘是SSD。在WHM/cPanel上运行顺便说一句,服务器上大约有10个站点,但没有一个站点的流量特别高,这些测试是在最安静的时期运行的。
在上一次测试运行中,Blackfire报告:-
Time: 696ms
I/O Wait: 149ms
CPU time: 548ms
SQL Queries: 2.38ms
有什么想法吗?漂亮的请。。。
虽然我没有弄清楚服务器或PHP代码是否有问题,或者应用程序的"速度慢"是否是意料之中的事,但请关注本线程上的评论和@teeyo提供的链接上的评论(https://laracasts.com/discuss/channels/laravel/adventures-in-increasing-laravel-performance)我决定测试PHP7
。
WHM使仅为该帐户启用PHP7变得很容易,所以这非常简单。进行了另一项测试,测试时间约为400毫秒,非常棒,但仍不低于200毫秒。
所以,我决定尝试启用PHP-FPM
,这也是通过WHM的一个sinch。。。
我!现在我达到了100毫秒左右!最重要的是,如果我禁用Engintron
,我会再剃10-20ms!!(尽管这可能不建议用于高流量网站,因为那样它就不会从nginx
反向代理中受益)。
不管怎样,感谢大家的投入。。。希望这能帮助其他人。。。