跟踪每个网页的展示次数/访问次数

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

我们已经确定机器人被排除在外。

目前,我们正在记录数据库中的每个匹配,其中插入(一天中的第一个请求到配置文件)或更新(一天中的以下请求到配置文件)。 但是,鉴于请求已经从每天数千个变为每天数万个,这些插入/更新导致了主要的性能问题。

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

我使用Ruby on Rails,MySQL,Memcache,Apache,HaProxy来运行整体节目。

任何帮助都感激不尽。

谢谢

以下是解决此问题的4种方法,从简单的估算到复杂和准确:

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