我目前在一台服务器上托管一个网站,许多其他网站都通过 API 连接到该网站。
当我使用终端命令“top”时,我可以看到 www-data 是导致我的服务器运行缓慢的主要原因。
如何确定哪个网站发出的 API 请求最多?有没有办法查看 www-data 的引荐来源?
谢谢
答案1
如果您没有记录请求,您可以短时间启用日志。然后分析日志。您可以手动解析它们,也可以使用日志分析器来找出谁发出了最多的请求。
使用 sed/awk/grep 等工具,您可以轻松提取和打印有关引荐来源 URL、访问 IP 和其他项目的快速报告。
看:https://stackoverflow.com/questions/15716336/apache-log-analysis-unique-visitors-by-date-by-os
有关如何解析日志文件以获取数据的提示。
答案2
http://httpd.apache.org/docs/2.2/mod/mod_status.html
状态模块允许服务器管理员了解其服务器的运行情况。将显示一个 HTML 页面,以易于阅读的形式提供当前服务器统计信息。如果需要,可以使此页面自动刷新(假设浏览器兼容)。另一个页面提供当前服务器状态的简单机器可读列表。