制作活动记录器的最佳方法是什么

时间:2011-12-05 08:46:06

标签: mysql database grails logging

我正在为grails应用程序编写Activity跟踪器。 目标:记录使用时间和浏览页面,以便我可以分析登录用户的活动模式。

我当前计划的解决方案:制作两个表,一个名为'activity',第二个'browsed_pa​​ge'活动表将存储user_id,jsessionid,date_created,validtill。 和browsed_pa​​ge将有activity_id和browsed_url。每个页面上的javascript将被执行以便每5分钟检查一次鼠标活动,如果它检测到mousemove,它将向控制器发出ajax请求,并且控制器会相应地记录。

最初,validtill将是5分钟加上date_created,如果检测到活动并且发出了ajax请求,则会更新为current_time + 5分钟。

我的问题:这个系统的性能是否可靠?我的意思是,每隔5分钟或浏览一个新页面后,会在活动表上运行更新以更新有效时间。当应用程序增长并开始拥有数百万条记录时,这些更新是否会妨碍性能?我可以得到一些建议,我该怎样做才能改善我的系统?

1 个答案:

答案 0 :(得分:0)

我会跳过关于鼠标移动的部分,只是将使用情况统计数据反馈到用户对您的应用程序执行的正常操作。我猜几乎网站上的所有交互都会产生对应用程序的调用。

确保跟踪是可配置的,以便在它占用系统时可以将其关闭。

说到桌子,我相信只在一张你只写过的桌子里做这件事。没有更新,搜索或删除。这是最便宜的方式。

然后你可以在“离线”分析,可能在数据库的统计复制品上。