我有 php 脚本作为 cron 作业运行,广泛使用第三方代码。脚本本身有几千个LOC。基本上它是数据导入/处理脚本。 (JSON 到 MySQL,但它也进行大量 HTTP 调用和一些 SOAP)。
现在,性能随着时间的推移而下降。当测试少量记录(大约 100 条)时,性能还可以,10-20 分钟即可完成。当运行整个导入(大约1600条记录)时,一条记录的平均导入时间稳步增长,整个过程需要超过24小时,所以至少比预期长5倍。
内存似乎不是问题,使用量按预期增长,没有出现意外的峰值。
所以,我需要对其进行调试以找到瓶颈。这可能是脚本、底层代码库、php 本身、数据库、操作系统或网络部分的问题。我现在怀疑某种缓存在某个地方表现不佳,未命中率接近 100%。
我无法使用 XDebug,配置文件增长得太快而无法处理。
所以问题是:我该如何调试这种脚本?
PHP 版本:5.4.41
操作系统:Debian 7.8
如有必要,我可以拥有 root 权限,并安装工具。但它是生产服务器,理想情况下调试不应造成太大干扰。
是的,有可能 and 您可以使用 Kint(PHP 调试脚本)
它是什么?
Kint for PHP 是一款旨在以绝对最佳方式呈现调试数据的工具。
换句话说,它是 var_dump() 和 debug_backtrace() 的增强版。易于使用,但功能强大且可定制。您的开发工具箱的重要补充。
还是迷路了?您可以使用它来查看变量内部的内容。
Act as a debug_backtrace replacer, too
you can 在这里下载 http://raveren.github.io/kint/ or Here https://github.com/raveren/kint
全部文档和帮助都在这里 https://github.com/raveren/kint
另外,它还支持几乎所有的php框架
- 代码点火器
- Drupal
- 交响乐团
- 交响乐2
- WordPress
- Yii
- 框架
- Zend框架
一切顺利.... :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)