【问题标题】:Tracking impressions/visits per web page跟踪每个网页的展示次数/访问次数
【发布时间】:2010-06-08 20:13:26
【问题描述】:

我有一个网站,每个公司都有几个页面,我想展示他们的页面在访问此资料的人数方面的表现。

我们已经确保排除机器人。

目前,我们通过插入(针对一天中对配置文件的第一个请求)或更新(针对一天中对配置文件的以下请求)在数据库中记录每个命中。但是,鉴于请求已从每天数千个增加到每天数万个,这些插入/更新会导致严重的性能问题。

假设没有 JS 解决方案,那么处理这个问题的最佳方法是什么?

我正在使用 Ruby on Rails、MySQL、Memcache、Apache、HaProxy 来运行整个节目。

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: ruby-on-rails tracking impressions


    【解决方案1】:

    http://www.scribd.com/doc/49575/Scaling-Rails-Presentation-From-Scribd-Launch 你应该从幻灯片 17 开始阅读。 我认为性能不是问题,如果可以为像 scribd 这样大的网站构建这样的解决方案。

    【讨论】:

      【解决方案2】:

      这里有 4 种方法可以解决这个问题,从简单估计到复杂准确:

      1. 仅跟踪一定百分比(10% 或 1%)的用户,然后乘以估算数量。
      2. 在给定页面的前 50 次计数后,开始将计数更新 1/13 的时间,计数为 13。这有助于在几页进行多次计数的同时保持小计数的准确性。 (使用 13,因为很难注意到 incr 不是 1)。
      3. 在缓存层(如内存缓存或本地服务器内存)中保存准确计数,并在计数达到 10 或已在缓存中保存一定时间时将它们全部保存到磁盘。
      4. 构建一个单独的计数层,1) 始终在内存中提供当前计数,2) 将计数保存到它自己的表/数据库中,3) 具有调整两个位置的调用

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-09
        • 2023-03-05
        • 1970-01-01
        相关资源
        最近更新 更多