【laravel国际会议--中文字幕】symfony作者谈PHP性能优化

654 阅读4分钟

symfony可以说是php的“行业标准”,laravel可以说就是基于symfony的。这个专场里,symfony作者Fabien来给大家分享如何做php的性能优化

学过我们《【PHP UK国际会议】PHP性能优化:我是怎么处理它》的这个专场的同学应该都已经懂得了,性能优化往往不是一些细枝末节的优化,更重要的是能以有效的数据为支撑,知道自己的app在干嘛,性能表现如何,性能瓶颈在哪里,性能承载怎么样,有没有遭遇内存泄露什么的,然后基于这些准确的数据,有理有据地去进行相应地优化,而不是完全靠猜测和“觉得”。

在那个专场里,女神Kat主要使用了xdebug和xhprof为我们展示了性能优化与分析的流程。那么在这个专场里,symfony的作者Fabien Potencier出席了我们的laravel国际会议,同样也是讲这个主题,当然了,Fabien的基本观点和之前Kat都是一致的,但Fabien这次用的性能侧写分析工具并不同,而且更高级一些,也即Fabien自己开发的专门的侧写工具,大名鼎鼎的blackfire。

在本专场里,他将以blackfire为基本侧写工具,带我们看看php或laravel性能优化的过程,以及他准备的实际案例,包括他之前这方面的一些经验分享。

通过这个专场你会学到:

  • php已经足够快了,一个很复杂的页面php几乎都可以在100毫秒内处理完,很多人抱怨php慢,抱怨laravel或其它框架慢,但十有八九,慢的不是php,不是框架,而是你自己的代码慢,是你写的代码非常低效臃肿
  • 性能直接决定着你的客户收入,亚马逊页面性能提高100毫秒,就能提升1%的收入,火狐页面优化2秒,就能提高15%的下载量,你的应用呢?
  • 进行php性能优化前,最简单的三个方面: php7、http2、http缓存
  • 性能优化的相关数据指标:时钟时间、内含时间、独占时间、cpu时间、I/O时间、调用图等等,以及时间之外的更重要因素
  • 使用blackfire,拿起一个完全没接触过的项目,比如专场里的silex项目,你可能都没有听过它,它也不是laravel写的,但是你被要求在最短时间内优化它的性能,你怎样立马找到其性能瓶颈,并作出优化?进一步,如何详细了解该项目的内部函数调用和请求周期?从而很快能把握核心,掌握其源码呢? 如何保证做了所谓的优化以后,性能是真的提升了,而不是下降了?有何数据证明?甚至你能进行性能测试吗?像写单元测试一样,跑一下看看性能方面是否都通过了相应测试?这样我们就可以把性能测试,当成一项功能,每次部署代码时,自动化工具都会自动跑性能测试,都通过了才发布代码,性能测试没跑通,就当作是一个bug来处理,这样的持续性能优化与测试的流程,难道不是你想要的吗?
  • 当然了,你也会了解到blackfire与传统的xdebug、xhprof相比,好在哪里,以及更多的,无法用文字一一表述的

相信看完这个以后,再结合之前我们翻译的几个性能相关的专场,加以实践,在性能优化方面,你就可以是个高手了。

本专场中文翻译视频实际观看地址:

【laravel国际会议--中文字幕】symfony作者谈PHP性能优化

【往期相关专场】: