在图像主机脚本中,如何测量图像的带宽消耗?

时间:2011-09-06 10:54:11

标签: php image bandwidth

我正在增强PHP图像托管脚本,但我遇到了一个问题:客户端已请求一个功能,将每个图像的已用带宽量限制为100MB /天 这包括缩略图

到目前为止,缩略图已经直接提供而不使用PHP(使用nginx) 我尝试使用PHP脚本而不是直接.jpg,使用非常高速缓存的代码(使用APC的缓存来存储使用的带宽量,并使用X-Sendfile头提供图像),但服务器只是扼流圈由于非常非常多的连接

是否有更有效的方法来测量缩略图使用的带宽而不会阻塞CPU和RAM? 这个问题通常是如何解决的?

由于

1 个答案:

答案 0 :(得分:0)

解析服务器访问日志。我相信他们在/var/log/nginx/access.log中的nginx。您可能需要更改权限以允许访问,或者您可以使用cron定期将该文件复制到可访问的文件夹中,如果您不习惯这样做。

我想如果您缓存结果,并且每小时只检查一次,那么您可以使用grep -c执行此操作。

我有兴趣知道,如果你选择了一个你知道的文件,那么运行需要多长时间:

grep -c filename.jpg /var/log/nginx.access.log

然后,您可以简单地将该计数乘以filesize以获得该图像的带宽。