【问题标题】:MSMQ or Component Services or what?MSMQ 或组件服务还是什么?
【发布时间】:2011-05-07 07:11:15
【问题描述】:

我们已经为客户构建了一个广告印象和点击跟踪系统,自从我们部署它以来,它绝对会扼杀我们的生产网络服务器。

我的想法是,一页最多包含 5 个广告,如果 10 个用户同时访问该网站,则需要同时记录 50 条记录(印象)。

问题:使用 Microsoft MSMQ 每 X 分钟将这些“印象”记录写入磁盘是否会提高整体性能?

谢谢 雅克

【问题讨论】:

  • 您真正看到的是 10 个并发用户还是暗示“杀死我们的生产服务器”而不是 100 个并发用户?

标签: msmq component-services


【解决方案1】:

如果您正在寻求高性能和最大吞吐量,则不应使用 MSMQ。在你的情况下,我会问你是否真的需要实时跟踪。

如果您希望您的跟踪对您的网络前端产生最小的影响,您应该通过像素跟踪将跟踪数据转储到正常的网络服务器日志文件中,并使用后端进程将这些日志文件加载到您的跟踪分析系统中。

根据我从您的问题中了解到的情况,问题在于每一次广告展示都会写入它自己的跟踪记录,这当然会降低网络前端的性能。

【讨论】:

  • 您能详细解释一下这种“像素跟踪”技术吗?实时跟踪绝对不是必需的,在这种情况下性能更为重要。
  • 刚读到这个...我不确定这是最好的解决方案。这是一种广告工具,可显示广告并跟踪展示次数和点击率。它已经使用了一个独特的扩展,当在服务器端请求时会记录印象或点击,但是将其留给正常的服务器端日志可能会导致不太准确的数字,不是吗? IE。如果图像已经被缓存并且不再从服务器请求?
  • @Jacques 为了避免缓存像素,您可以在跟踪中添加一个可变参数。一种常见的方法是使用接受参数的服务器端脚本来记录返回像素。它看起来像这样<img src="MyServersideScript.aspx?Tracking=123&MoreTracking=abc&EvenMore=1a2b3c" /> ...几乎所有服务器端技术都应该是这样的(我最了解 ASP.Net,但 PHP 也应该这样做)。每次展示都可以使调用独一无二。如果人们使用 adblock 过滤跟踪像素,您的数字将变得不准确,但无论如何他们都会过滤整个广告。
  • 感谢您的回复,对于我迟到的回复感到抱歉。 IIS 日志是否会显示像素图像名称的条目,例如 ad.jpg?我们目前正在使用类似于 Yahoo 的方法以及您在此处提到的方法,我们在其中添加了一个唯一的查询字符串,该字符串强制它返回服务器,但随后以浏览器可以从中获取的任何方式返回给定的广告图像缓存,但我似乎没有在 IIS 日志中看到有关这些图像的任何详细信息
猜你喜欢
  • 1970-01-01
  • 2011-05-17
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
相关资源
最近更新 更多