【问题标题】:Monitoring user tracking, statistics, and auditing for app监控应用程序的用户跟踪、统计和审核
【发布时间】:2009-10-17 23:05:29
【问题描述】:

我正在尝试将用户统计信息合并到网站中,并决定在我的用户表中进行此操作:

  • 用户注册时间
  • 用户验证的时间
  • 访问次数
  • 上次访问时间

我还缺少哪些其他统计数据?我也应该在单独的表中跟踪每个登录时间吗?这被认为是好的审计还是太多了?

我认为还有其他使用情况统计信息也可能会有所帮助,例如页面浏览量等。您是否建议实施我自己的跟踪或使用现成的解决方案,如谷歌分析(我觉得它会添加太多外部代码到网站,所以我认为实现我自己的页面查看跟踪可能会更好)。对此有什么想法吗?

【问题讨论】:

    标签: php mysql statistics user-controls membership


    【解决方案1】:

    根据您的网站/应用程序的长期目标,决定您网站中的使用跟踪程度最终取决于个人决定。

    需要考虑的一些事项:

    1. Web 应用所有者是否会使用这些统计数据来决定未来的产品方向? (判断功能的受欢迎程度、识别网站的高负载部分等)
    2. Web 应用所有者是否会出于营销原因使用这些统计信息? (广告系列成功率、转化指标、营销目标等)
    3. 您的用户是否会将这些统计信息用于某项功能? (链接流量以了解受欢迎程度、个人资料浏览次数等)

    对于 #1 和 #2,决定您是否重视基于用户的统计信息或基于页面的统计信息或两者兼而有之,这一点非常重要。

    对于 #3,持续实施更容易,通常是在您引入新功能时。

    这就是总体策略。就您而言,(不知道上述目标),我认为您需要:

    • 用户登录表(每一行是用户登录的一个条目) - 如果您需要编译用户最常用访问时间的统计信息,用户是否“聚集”在一起或正在登录分散?此外,您应该每月归档此表中的数据,并仅将您的每月指标存储在另一个表或磁盘上的文件中。
    • 用户登录失败表 - 此表通常被忽略,但对于诊断错误和/或安全攻击极为重要
    • 活跃用户表 - 将此表与 cronjob 组合使用,以获取此表的快照,以了解网站上活跃用户的趋势
    • 用户页面浏览量表(每一行是一个用户/页面对) - 这有助于确定哪些页面/功能更受欢迎,并有助于确定未来的产品方向

    综上所述,不要害怕使用第三方工具,例如 Google Analytics(分析)(特别是如果您的案例是 #2)。重新发明轮子并实现我们自己的使用指标层是没有意义的(通常会以性能为代价,而且 Google 拥有比您可能拥有的更多的带宽和更高的性能)。

    还有其他工具,例如 Mint (http://haveamint.com),您可以在服务器端安装它们并根据我们自己的使用指标进行自定义。

    【讨论】:

    • +1 以获得出色的答案。没错,目标是未来的方向,识别最活跃的用户等。我担心的是,在早期阶段,很难知道什么是值得跟踪的。我不想跟踪所有内容,然后意识到数据毫无价值,只会减慢网站速度。
    • 另外,如果您擅长 Apache 日志分析,并且在您的 web 应用上具有仔细的 URL 结构,您可以分析点击/事件/页面跟踪。尽管您必须确保更改 Apache 日志格式以保存相关信息(IP 地址、UserAgent、页面路径等)。如果您不想降低性能,这通常是一个很好的折衷方案,但是以能够从 Apache 日志中编译这些统计数据为代价。
    • 你个人会走哪条路?
    • 就个人而言,我会权衡所需的统计量与用户的性能成本。我会在数据库中跟踪与用户相关的统计信息(可能是用户登录和失败的登录尝试)。对于功能/页面特定的综合浏览量,我会使用 Google Analytics,特别是衡量用户注册转化率(跟踪有多少用户被提供给“感谢您注册”页面)。 Apache 日志记录虽然具有最佳性能,但分析起来确实很痛苦(即使使用可用的工具)。
    【解决方案2】:

    这取决于您的网站提供的服务/数据类型。通常不需要所有登录的表..因为它只是添加可能永远不需要的数据。我认为你有什么是好的。也许您需要在其中添加注册 ip 和上次登录 ip 等。以防万一。

    至于跟踪,我认为使用第三方工具会很好,但这实际上不会为您提供每个用户的详细信息。因为谷歌分析不知道你数据库中的哪个用户访问了哪个页面..如果你真的需要那个..把它放在一个单独的表中并确保你有存档..否则它会变得很大并且插入会变得越来越慢.

    应始终根据实际需要进行审核。过多不必要的审核只会减慢您的应用程序速度。

    【讨论】:

    • +1 用于谷歌分析点。有道理,google 不知道哪个 db 用户正在访问。
    猜你喜欢
    • 2011-05-06
    • 2013-04-10
    • 2011-03-18
    • 2018-06-25
    • 1970-01-01
    • 2017-06-17
    • 2016-02-23
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多