【发布时间】:2017-06-25 08:20:07
【问题描述】:
当用户看到一篇文章时,我需要收集信息。用户将在一分钟内浏览 1-30 篇文章(如果用户只是滚动浏览所有看起来特定的东西,可能会更多)。我想知道哪种方式可以将我的服务器成本保持在最低水平:
在客户端 javascript 中,我将文章 ID 推送到一个数组中,并在有 30-60 个 ID 时将其发送到服务器。在服务器上,我遍历所有 id 并将它们插入数据库。
每当用户看到一篇文章时,我都会向服务器发送一个文章 ID。在某些情况下,这可能会在一分钟内导致超过 60 个请求。在服务器上,我将 id 插入数据库。
【问题讨论】:
-
http 请求在服务器之间的握手中具有很小的开销。每次您提出请求时,都会产生此开销。如果您有大量请求,则延迟可能开始变得明显。因此,这取决于 (a) 您需要应用程序的模块化程度(您是否需要仅发送 1 个 ID 的灵活性,或者批量更新是否足以满足当前和未来的需求 (b) 您对性能和带宽的关心程度. 另一个概念是准确性 - 如果您延迟到拥有 30 个 ID,如果用户只滚动 2 篇文章然后退出,则不会被记录。
标签: javascript node.js performance server