我们有大量流量,但这导致网站响应速度极慢,甚至完全没有响应。我在 WHM 中检查了负载、顶级进程等,但似乎找不到确切原因什么问题是。
我如何才能实时看到正在被访问的内容?如果我知道,我可以禁用各种功能并保存整个网站。
http://www.districtlines.com- 如果你不介意的话请谨慎点击,我快要死了!
答案1
您的第一站应该是您的 apache 访问日志。这些日志的位置将根据您的配置而有所不同,但/var/log/httpd/
(或/var/log/apache2
,取决于发行版)是一个很好的起点。
答案2
答案3
尝试netstat -nt | grep :80
作为起点。这将拾取尚未到达访问日志的连接以及最近关闭的连接。
尝试 netstat -nt | grep 208.87.33.150:80 | cut -c 44-64 | cut -d: -f1 | sort | uniq -c | sort -nr
通过最近的连接获取计数。检查我使用的 IP 地址。
编辑:将 accesslog 配置更改为记录响应时间(%D 或 %T)而不是标识名称(%l),这样您就可以收集哪些 URL 模式最慢的数据。当整个网站都很慢时这样做可能无法提供有用的统计数据。
使用 top 来确保你使用了足够的交换空间。如果你有内存泄漏,那么将 MaxRequestsPerChild 限制为 100 或 100 可能会有所帮助,直到你找到并解决问题。
答案4
问题最可能的原因在于 Mysql。在 mysql 服务器上启用慢查询日志,并分析慢查询如何通过索引等方式进行改进。
http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html
一个性能改进技巧。
在 Firefox 扩展程序 firebug 中打开您的网站时,我发现大多数请求都是针对静态内容(即图像)的。您为什么不使用单独的域名(即 static.districtlines.com)并使用轻量级 Web 服务器(如 nginx 或 lighttp)来处理这些请求,或者像处理某些请求一样将其卸载到 amazonaws 上。