网站使用跟踪与Colfusion/JavaScript/其他



我们的网站开发团队在我们的内部网管理许多网站(每个网站都有不同的虚荣URL)。我们想实现一些东西(代码片段),很容易添加Application.cfm/OnRequestEnd。CFM页面,这将插入一个记录到数据库跟踪的东西,如页面,url,查询字符串,用户id等基本的东西。插入记录不是什么大事。我想知道的是,从性能的角度来看,你们有什么建议,这样当员工访问不同的站点时,我们就不会遇到插入队列的瓶颈。我们不能使用jQuery,因为不是每个网站都有相同版本的jQuery,所以我们真的仅限于使用Coldfusion——我想。

理想情况下,我们希望能够做的是在我们的主服务器上创建一个主要的跟踪文件,并从我们所有的其他网站引用该文件。然后,如果/当我们需要更新时,我们可以做一个全局的改变——有点像谷歌分析所做的,只是没有那么多的细节。

在我们支持的所有网站上,我们确实在这些页面上有我们部门的标志。我想在图片的加载过程中建立一个跟踪过程,就像他们处理电子邮件一样。

如果你有更好的主意,我将不胜感激——我洗耳恭听


关于图像处理,我无法从easycfm.com找到教程的原始链接,但我发现这里似乎是相同的代码:http://www.experts-exchange.com/Software/Server_Software/Web_Servers/ColdFusion/A_2386-Track-your-Emails-using-coldfusion.html

我想说的是,除非你有理由,否则你不应该过早地优化它。如果你发现你有一个问题,你可以处理它。

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

我特别建议将其滚动到日志CFC中,因为如果您需要更改以后如何记录事物的实现,您可以更改日志方法的内部工作,而不必打乱所有站点。

亚当·卡梅隆的回答可能是你应该走的路。最重要的是,我建议将这些记录插入到没有附加索引的表中。这将导致插入非常快。然后,您可以使用调度的数据库作业将这些数据移动到一个良好的规范化模式中,以便快速分析。

我不会因为每个站点都有不同版本的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

最新更新