如果Web服务器运行缓慢,是否有办法查看哪些文件负责?
编辑:
Debian操作系统与Apache2 Web服务器
你有没有考虑过使用一个分析器?
看到:
http://blogs.reucon.com/srt/2007/12/13/profiling_php_applications.html
http://www.sitepoint.com/blogs/2007/04/23/faster-php-apps-profile-your-code-with-xdebug/
如果你想弄清楚哪个用户的脚本正在占用你的资源,你可以使用apache itk mpm,它在你select的用户/组下运行虚拟主机。 每个请求都会分派一个以该用户身份运行的apache进程。 因此,ps / top输出将显示哪个用户正在运行脚本(以及哪个虚拟主机) – 缺点是itk显然比较慢。 – 由于使用普通的prefork或者worker,mpm的apache在一个进程中处理多个请求,所以很难判断哪个请求正在吃掉你的mojo。
如果您正在试图找出PHP应用程序中的哪些函数正在使用您的资源,那么您将不得不使用xdebug。 很明显,xdebug分析方法将是一个php应用程序的一次性检查,而不是找出哪个脚本属于共享主机环境中的哪个用户正在消耗cpu时间的解决scheme。
缺less一些有用的信息:
编辑:你检查了正常的进程在顶部,iostat,fuser,lsof Linux机器上寻找工具吗?
有一件事我做,这有点低效,但我有一个每分钟运行一个cron作业,它使用curl将http://localhost/server-status
的输出保存到date和时间作为文件名。 这样我就可以将这些文件在networking浏览器中进行查看,并查看当时哪些url正在被访问。 对许多这些脚本使用最多的资源进行编译。 但它不是很准确,只是一个快速和肮脏的方式来看看发生了什么事情。
要获得准确的表示,请使用其他人build议的分析器。
让我知道,如果你想看到cron的工作。