javascript - 许多小的或一个更大的 POST 请求?

标签 javascript node.js performance server

我需要在用户看到文章时收集信息。用户将在一分钟内浏览 1-30 篇文章(如果用户只是滚动浏览所有看起来特定的文章,可能会更多)。我想知道哪种方法可以将我的服务器成本保持在最低水平:

  1. 在客户端 javascript,我将文章 ID 推送到一个数组中,并在有 30-60 个 ID 时将其发送到服务器。在服务器上,我循环遍历所有 ID,并将它们插入数据库。

  2. 每当用户看到一篇文章时,我都会将一个文章 ID 发送到服务器。在某些情况下,这会导致一分钟内超过 60 个请求。在服务器上,我将 id 插入数据库。

最佳答案

在大多数情况下,总是需要权衡取舍。很多时候,最佳解决方案介于两者之间。我觉得你应该支持两者并根据情况交替使用它们。请完成以下场景:

  • 您的最终用户会遇到带宽问题吗?如果是,则选择选项 2 或将文章数量减少到一定数量,以便在较低带宽下也可以轻松获取。
  • 假设用户没有带宽问题,加载 30-60 篇文章不会花费用户很多时间,您可以选择选项 1,并继续使用此选项进行后续抓取。
  • 很多时候使用选项 1 进行初始抓取然后抓取较少数量的文章是有意义的。
  • 关于服务器成本,将 30-60 篇文章一起发送是有意义的,前提是用户要阅读所有文章。如果您觉得他不会全部阅读,请使用您应用的分析找到最佳数量,并一次发送这些数量的文章,前提是带宽不会成为用户的问题。

tl;博士;在您应该信任的数据中。使用您的直觉、现有的应用程序使用模式和用户的带宽可用性来做出明智的决定。此外,服务器成本并不是唯一的因素。我认为,经验更重要。

关于javascript - 许多小的或一个更大的 POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44744531/

相关文章:

performance - 为什么 "MOVQ 0x30(SP), DX"慢?

c# - 悖论 : Why is yield return faster than list here

javascript - html 中的一些 js 更改后,Javascript 中的按钮不起作用

javascript - Three.js 合并几何很慢

javascript - 错误: Number of columns is inconsistent on line 5 - While parsing CSV

node.js - 如何将 Angular 2 应用程序与 .net core 连接

javascript - Node js应用程序无法调用未定义的方法

c++ - 缓冲通信速度噩梦

javascript - 如何在 mousemove html Canvas 上绘制矩形时显示矩形

javascript - 使用 ko.mapping.fromJS 保留原始值