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



我正在努力将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反向代理中受益)。

不管怎样,感谢大家的投入。。。希望这能帮助其他人。。。

相关内容

  • 没有找到相关文章

最新更新