1

我有兴趣在我的网站上跟踪用户的综合浏览量。由于流量增长非常快,我担心机器人等,我也希望能够实时使用跟踪数据来改变用户体验(所以,虽然我确实使用谷歌分析,但它不能达到这个目的) .

存储我的信息的最有效方式是什么?这是我目前的理论,请批评和/或提供更多想法:)

策略:在加载时收集 ip、页面 url、浏览器/版本、时间戳、来自客户端的引用并将一行插入 MySQL。根据时间或性能确定某个时间间隔以“归档”表并删除行或通过 cron 创建一个新行。

这稳定吗?

4

2 回答 2

2

我不完全确定,但是一个用户表(可能通过 cookie 或会话分配一个用户 ID),你的页面表(这可能是也可能不是实际的,取决于它们是如何生成的),和一个跟踪表来显示每个用户 ID 所查看的页面(通过一些唯一的页面 ID 标识符)?

Pages:
page_id | page
01      | homepage
02      | site map
03      | about us

users
user_id  | user_ip_or_cookie_identifier
01       | 127.0.0.1
02       | 192.168.0.2

tracking
user_id  | page_id
01       | 01
01       | 03
02       | 01
01       | 02

(ETC...)

然后使用简单的 MySQL(或您正在使用的任何数据库)查询来检索哪个用户查看了哪些页面。

主要弱点是用户将具有与工作/家庭不同的标识符(除非您登录),并且每个 ip 地址有多个用户,可能还有每个 cookie/会话(取决于用户对共享工作站的开放程度) /件)。

于 2009-11-19T23:02:11.277 回答
1

听起来很合理。如果您希望插入速度尽可能快,您应该将该表设为 MYIASM 并且没有任何索引。

于 2009-11-19T22:56:46.077 回答