Swoole Tracker 2.8.3 发布,这个版本开始全面支持 PHP5.4,PHP5.5 和 PHP5.6,做这个兼容之前很多人和我说这是个收益非常低的事情,因为未来肯定是 PHP7 用户多,我们做这事有以下几点原因:
无法迁移到PHP7
很多重度使用 PHP 的公司会有历史遗留的项目,由于业务过于复杂或其他原因(比如自己写了个 PHP5 的扩展,维护扩展的人又离职了)无法迁移。瓶颈不在编程语言
PHP7 最大的收益就是性能提升,但有的大型项目性能瓶颈不在语言层面,比如瓶颈在数据库层面,外部依赖的接口等等。现实很骨感
做 Swoole 商业化这 2 年来,我们积累了 1.4w 的企业用户,统计发现,这里面 90%的公司是在 2-3 线城市(见下图),并且目前为止大部分的公司还在用 PHP5,一部分原因是 PHP5 太成功了,另一部分原因是这些公司请求量不大,对 PHP 版本没概念,大部分非计算机专业出身,甚至被一线大厂津津乐道的 Golang/协程都没听过,这就是 PHP--一门非常实用的草根语言
。
调试器--性能分析工具
Swoole Tracker
有两大功能模块监控
和调试器
,其中调试器
中的所有功能都是可以通过web
页面动态开启关闭的,相对于监控
系统'被动'性,调试器
属于主动分析工具,其中有个profile
工具,可以用来快速分析性能瓶颈。
- 使用
使用Tracker
的 profile 工具极其简单,只需要点击开启/关闭性能调优工具
,然后访问一下,即可在性能分析
菜单栏看到分析的结果图,如图:
- 效果
- 优势
首先,目前市面上所有的这类profile
工具都不支持Swoole
,Tracker
可以完美的支持Swoole
和FPM
。
其次,使用简单方便,如上文的动图,只需要点点 Web 页面上的按钮,就可以抓到性能问题。
再次,可以和调试器
工具链中的其他工具联合使用,还打通了和监控数据(分布式trace
)的关联,让你可以多角度,全方位的定位问题。
最后,支持的全面,据我所知,PHP 性能调优工具方面,最开始是 Facebook 开源的叫做Xhprof
的工具,当时引起了不小的轰动,在 Facebook 转向Hack
语言之后放弃了对Xhprof
的维护,后来Tideways
扩展出现了,但是这个扩展不支持 PHP5,Tracker
目前最低支持到PHP54
,即使你的项目中有非常老的代码,也可以用统一的方式定位性能问题。
我们的目标
做一款极易使用的工具,让 PHPer 快速的监控
自己的应用,出了问题的时候可以用调试器
快速的定位问题。让Swoole Tracker
成为所有 PHP 程序员的必备工具是我们这个产品的最终目标!关于具体使用和实现原理可以查看我的免费视频课程:https://course.swoole-cloud.com/videos/6