osh*_*nen 5 php linux apache webserver
更新1:
在服务器上执行一个strace后,我发现mmap的进程占用了这个处理时间的90%.我发现其中一个页面需要一分钟才能加载.
所以我找到了这个链接: PHP脚本继续做mmap/munmap
它可能显示同样的问题.但是,通过正确禁用php错误处理程序,我不明白anwer意味着什么?
原始问题:
在加载由我的服务器提供服务的特定网页时,如何检查我的Web服务器上的瓶颈?
出于某种原因,我网站上的几页变得非常慢,我不确定缓慢发生在哪里.
Chrome开发工具的屏幕截图:
所以基本上,我需要找出这部分需要长时间加载的内容?客户端Web工具似乎无法打破这种局面?
Derick Rethans(Xdebug 的作者)今天发布了一篇相当不错的文章,名为PHP 正在做什么?
它涵盖了您已经完成的 strace,还向您展示了如何使用自定义.gdbinit来获取导致问题的实际 php 函数名称。
当然,您必须使用 gdb 从命令行运行脚本,所以我希望您的问题能够以这种方式重现。
mmap用于创建文件的内存映射视图。
如果确实是错误处理程序导致它,我猜您的脚本正在生成很多错误(您正在尝试记录这些错误),可能是循环中未定义索引的通知或其他错误)。
检查日志文件(是否记录了任何内容?),如果没有记录任何内容,请检查日志文件的权限,还要仔细检查错误报告级别的设置。
var_dump(ini_get('error_reporting') & E_NOTICE);- 如果您要报告通知,则非零。
error_reporting(E_ALL & ~E_NOTICE);- 关闭报告通知。