使用Coldfusion / JavaScript / Other进行网站使用情况跟踪

时间:2013-03-28 21:38:30

标签: javascript coldfusion

我们的网站开发团队在我们的INTRAnet上管理许多网站(每个网站都有不同的虚荣URL)。我们想要实现一些容易添加Application.cfm / OnRequestEnd.cfm页面的东西(代码片段),该页面会将记录插入数据库中,跟踪诸如page,url,querystring,userid等内容 - 基本内容。插入记录并不是什么大问题。我想知道的是从性能角度来看,你们都会推荐什么,这样我们就不会因员工到各个网站而排队等待插入的瓶颈。我们不能使用jQuery,因为不是每个站点都有相同版本的jQuery,所以我们真的只限于使用Coldfusion - 我认为。

理想情况下,我们希望能够在主服务器上创建一个主要跟踪文件,并从我们所有其他站点引用该文件。然后,如果/当我们需要进行更新时,我们可以进行全局变更 - 有点像Google Analytics的工作方式,而不是那么多细节。

在我们支持的所有网站上,我们在这些网页上都有我们的部门徽标。我考虑过在图像加载过程中构建跟踪过程,就像使用电子邮件一样。

如果你有更好的主意,任何有关这方面的想法都会受到赞赏 - 我很满意。

已更新
关于图像处理,我找不到easycfm.com教程的原始链接,但我在这里找到了相同的代码:http://www.experts-exchange.com/Software/Server_Software/Web_Servers/ColdFusion/A_2386-Track-your-Emails-using-coldfusion.html

2 个答案:

答案 0 :(得分:6)

我会说,在你有理由之前,不要试图过早地优化这个。如果您发现自己在轨道上遇到问题,则可以处理它。

创建一个Logging CFC并实现一个方法,该方法接收您希望记录的指标,然后将其包装到记录中以插入到DB中,并使用<cfquery>将它们写入DB表。从OnRequestEnd.cfm调用该函数。

我特别建议将其转换为Logging CFC,因为如果您需要更改日志记录方式的实现,您只需更改日志记录方法的内部工作方式,而不必弄乱所有网站。

答案 1 :(得分:0)

亚当卡梅隆的回答可能就是你应该去的方式。最重要的是,我建议将这些记录插入到没有附加索引的表中。这将使插入非常快。然后,您可以使用计划的数据库作业将此数据移动到快速分析的良好规范化架构中。

我不会因为每个网站都有不同版本的JQuery而使用JavaScript。人们仍然习惯于在JQuery存在之前完成工作,它只是一个JavaScript库。动态包含一个脚本文件是非常基本的JavaScript,该脚本文件使用相关参数指向您的跟踪文件。

<script type="text/javascript">
    var script = document.createElement("script");
    var body = document.getElementsByTagName("body")[0];
    script.setAttribute("src", "http://www.yourdomain.com/trackingfile.cfm?" + yourparams);
    body.appendChild(script);
</script>

如您所见,不需要JQuery。