php - 如何识别 Linux 上 PHP 缓慢的性能瓶颈?
问题描述
在我的 linux 服务器上,我有一个 PHP 进程需要很长时间(多天)才能完成。该脚本基本上将一个大数据文件拆分为小块,并将相应的文件写入 CIFS 文件系统(网络共享)。我正在尝试在相关 PID 上使用 strace 进行故障排除,我看到以下内容,据此看来大部分时间都在写入中消耗:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
89.88 17.722953 4 4854316 write
10.07 1.985505 1 2427149 lseek
0.05 0.009307 1 7706 read
------ ----------- ----------- --------- --------- ----------------
100.00 19.717765 7289171 total
如何进一步调试以识别瓶颈?我需要检查任何明显的 PHP 配置吗?服务器上的 php.ini 文件当前具有所有默认设置(例如 output_buffering = 4096)。不确定我是否需要在那里进行任何更改。
任何进一步解决此问题的建议将不胜感激。谢谢你。
解决方案
推荐阅读
- android - Android PrintDocumentAdapter 删除/隐藏另存为 pdf 选项
- tabs - Vaadin 选项卡:防止选择选项卡;仅以编程方式选择选项卡
- python - 不和谐蟒蛇多次狙击
- java - 同一实体的多个数据传输对象 (DTO)
- three.js - 如何在一直检测到没有标记的标记后播放ar中的内容(一次检测然后播放)
- pyspark - Pyspark:TypeError:+的不支持的操作数类型:'int'和'str'
- sql - 过滤多表mssql
- r - 根据设置的条件过滤
- json - TypeError: document 必须是 dict、bson.son.SON、bson.raw_bson.RawBSONDocument 的实例,或者是继承自 collections.MutableMapping 的类型
- reactjs - 在不使用外部 css 文件的情况下添加 css 悬停样式