ngnix 执行php 慢,【nginx】PHP有什么办法可以排查那些脚本或方法执行慢,需要优化?...

mysql有慢查询日志,可以排查项目中那些语句需要优化。

PHP有什么办法可以排查整个项目中,那些脚本或方法执行慢,需要优化?

最好能够给出详细的操作方法或者连接。

回答

xdebug,xhprof等等扩展,都是深入统计脚本执行消耗,并生成性能统计报告的。

1.首先如果是web请求 则可以简单开启php-fpm的慢查询日志。分析出那些请求耗时过长。。此方法可以初略的查到问题所在

具体问题分析。如果不依赖其他工具。则可以在一段代码的开始 记录一个时间值最好用微秒。在觉得可能耗时的代码后面用当前微秒时间-之前记录的微秒时间。。这其实有点类似于hooks.

3.依赖第三方工具。或者php自带的拓展。太多。。自行翻阅官方文档。

自己可以打断点调试啊,计算每段代码执行的时间进行对比

楼上几位的回答的都差不多了 , 我也废话几句昂 :

最俗气的解决方案就是打tick time,执行前来个microtime,执行完毕后来个microtime,然后一减,你就知道了。

比较彻底的解决方案还是有明提的xhprof扩展,该扩展可以生成代码耗费的cpu memory以及时间。但是该扩展只支持php5,支持php7的xhprof是github上另外一个哥们维护的,不是facebook官方,两个都没问题,都可以用

商用解决方案,接入某些APM厂商,也是可以解决问题的,避免广告嫌疑,这个我就不举例了

给个简单粗暴的方案:购买某些大厂的云数据库一个月或者一天,然后所有慢日志一目了然,还带有解决方案。

安装 xdebug

开启 xdebug.profiler_enable xdebug.profiler_output_dir 选项

运行生成 日志文件

推荐用 phpstorm 自带的 analyze xdebug profiler 工具 分析下

利器 + 神器 = Xdebug

引一个知乎 @eechen 的回答:有哪些 PHP 调试技巧?

标题可能跟这个问题的标题不太搭,但相似,不妨一看。

开发环境用xdebug. 生产环境php5 用xhprof. php7用tideways. 这些都能跟踪php的函数调用. 具体到内存,cpu执行耗时等信息. 再配合UI界面展示. 就一目了然了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值