我的任务是计算 Linux 服务器上父目录上每个目录使用的带宽。我们在 10 多个不同的目录中托管了 10 多个不同的客户站点,并想计算单个主机上每个站点的带宽。
我想将使用的带宽记录到一个中心区域(文本文件、SQL 数据库),以便我可以查询数据以供以后报告。我习惯用 PHP 或 bash 编写保存逻辑。
我假设我们在文件中附加了某种自定义日志文件.conf
,以便每次加载页面时,我们都能确定为该单个会话加载的资产(标记、图像等)数量,并将该数据发送到数据库?我正试图找到一个比我聪明得多的人来确定如何最好地构建和推出它,这样我们就不会减慢服务器速度并获取所需的基本数据。
答案1
我能想到的最简单的方法是利用 Web 服务器的日志记录机制来跟踪响应每个请求而发送的字节数。
例如,如果您使用 Apache,则可以使用mod_log_config
添加CustomLog
指令来创建如下所示的日志:
Bytes URL
485 /client1/index.php
45 /client1/favicon.ico
632 /client2/home.html
132 /client2/script.js
一旦获得数据,您就可以编写一个简单的脚本,根据请求 URL 计算每个客户端的带宽。