0

我在 iframe 中有一张图片(类似于广告),该图片将放置在多个站点中。我应该使用服务器日志文件找出印象吗?还是我应该使用 DB 来跟踪每次展示?

哪种方式更快并且可以处理大量流量?谢谢

4

2 回答 2

1

这个问题的答案实际上取决于您使用的是哪种数据库,以及您的部署环境中 Web 服务器磁盘和数据库的实际繁忙程度;

  • 如果您每次完成印象时都会将日志条目添加到文件中,这非常快。您可以每天将此文件移动到一个新文件并将其发送到某个后端系统进行处理,您很可能永远不会丢失一个条目(除非您遇到磁盘崩溃)
  • 除非您想使用同一个表对数据进行查询,否则带有表条目的常规 mysql 数据库可能会过度使用。它可能也可以很好地扩展,但如果你有很多流量,你最终可能会在这里得到很多条目。
  • 为此使用 nosql 数据库可能是一个很好的匹配,这可能会将其扩大到像 twitter 一样的规模 - 尽管大多数网站不像 Twitter,所以它可能对您的需求来说是矫枉过正 :)

如果您有一个常规网站,您可能可以通过第一种方式轻松完成,因为它很简单。如果没有,你没有花很多时间在上面。

于 2011-01-18T18:55:50.493 回答
0

对我来说听起来很合理。使用日志的简单方法可以是例如使用 grep 从日志中找到正确的调用并计算它们。

正如 Knubo 所说,压缩已经处理过的条目是有意义的,就像 10M+/小时一样,您可能会查看相当多的日志文件 :) 因此,例如每天执行一个过程:

  1. 启动一个新的日志文件(日志轮换)
  2. 从昨天的日志文件中计算正确的条目
  3. 归档处理后的日志文件(gzip、bzip2、7zip 等)
于 2011-01-24T22:33:02.090 回答