如何计算图像的流量

时间:2012-08-28 17:07:27

标签: php logging statistics memcached cdn

我正在运行一个起飞很好的网站,我想添加类似于imgur.com的内容,这是每张图片的简单统计数据。

Submitted 9 hours ago
222,660 views · 22.61 GB bandwidth

问题是,我使用CDN,所以我的服务器上没有任何日志。

我想用memcached模仿这个计数器,

ie:每次我打印永久链接的img标签时,计数器将增加1,然后我可以进行数学计算以获得所使用的带宽(热链接图像除外,但这不是重点)。

问题在于有很多图像,我不确定memcached是最好的工具,在某些时候我会被迫将memcached数据放在mysql或其他地方以及快速/易变的“写入“在那时,制造将是一个真正的瓶颈。

你如何使用mysql解决这个简单的统计数据?

1 个答案:

答案 0 :(得分:0)

在处理统计数据和创建大量数据时,我们使用The BLACKHOLE Storage Engine获得了良好的结果。

您只需要一个包含id(图片ID)的简单表格,以及用于计算观看次数的count

然后在加载页面时,您可以聚合图像ID并运行如下查询:

INSERT INTO image_stats (id)
VALUES($some_id)
ON DUPLICATE KEY UPDATE count = count + 1

我们使用此方法计算高流量网站上的网页浏览量(每日网页浏览量约为600 000次),而且速度非常快。