在加载网页时发现瓶颈?

osh*_*nen 5 php linux apache webserver

更新1:

在服务器上执行一个strace后,我发现mmap的进程占用了这个处理时间的90%.我发现其中一个页面需要一分钟才能加载.

所以我找到了这个链接: PHP脚本继续做mmap/munmap

它可能显示同样的问题.但是,通过正确禁用php错误处理程序,我不明白anwer意味着什么?

原始问题:

在加载由我的服务器提供服务的特定网页时,如何检查我的Web服务器上的瓶颈?

出于某种原因,我网站上的几页变得非常慢,我不确定缓慢发生在哪里.

Chrome开发工具的屏幕截图:

点击这里放大: 在此输入图像描述

所以基本上,我需要找出这部分需要长时间加载的内容?客户端Web工具似乎无法打破这种局面?

Lei*_*igh 1

Derick Rethans(Xdebug 的作者)今天发布了一篇相当不错的文章,名为PHP 正在做什么?

它涵盖了您已经完成的 strace,还向您展示了如何使用自定义.gdbinit来获取导致问题的实际 php 函数名称。

当然,您必须使用 gdb 从命令行运行脚本,所以我希望您的问题能够以这种方式重现。

mmap用于创建文件的内存映射视图。

如果确实是错误处理程序导致它,我猜您的脚本正在生成很多错误(您正在尝试记录这些错误),可能是循环中未定义索引的通知或其他错误)。

检查日志文件(是否记录了任何内容?),如果没有记录任何内容,请检查日志文件的权限,还要仔细检查错误报告级别的设置。

var_dump(ini_get('error_reporting') & E_NOTICE);- 如果您要报告通知,则非零。

error_reporting(E_ALL & ~E_NOTICE);- 关闭报告通知。