【发布时间】:2017-04-29 04:31:06
【问题描述】:
场景:
- 在我的网站中,我展示了书籍。
- 用户可以将每本书添加到“稍后阅读”列表中。
行为:
当用户进入网站时,他们会看到一个书籍列表。 其中一些已经在他们的“稍后阅读”列表中,有些则不在。
用户在每本书旁边都有一个指示,告诉他们该书是否已添加到列表中。
我的问题
我正在争论哪个选项最适合我的情况。
选项 1:
- 对于每本书,查询服务器是否已经存在于用户的列表中。
- 更新每本书的指标。
专业人士: 对服务器的请求非常小,响应非常简单(真或假)。
缺点:在一个包含 30 本书的页面中,我将发送 30 个单独的 http 请求,这会阻塞套接字,考虑到浏览器和服务器必须为每个请求执行整个握手,这相当慢交易。
选项 2:
- 我查询了服务器一次,并以数组形式获得了“稍后阅读”列表中完整图书列表的响应。
- 在浏览器中,我遍历数组,并根据数组中是否存在每本书更新指示。
专业人士:我只提出一个请求,一次更新所有书籍的指标。
缺点:“稍后阅读”列表可能包含数百本书,传递一个大数组可能会变得缓慢且过多。尤其是在屏幕上出现的不是 30 本书,而是只有 2-3 本书的情况下。 (也就是说,我想检查某本书是否在列表中,为此我让服务器向客户端发送列表中的整个书籍列表)。
那么,
您会采用哪种方式来最大限度地提高性能:1 还是 2?
我还缺少其他选择吗?
【问题讨论】:
-
我认为这个问题接近于“意见答案”,但我非常感谢清晰的措辞和问题描述。
-
感谢您的意见,我相信这是一个与许多主题相关的有用问题。 1 个大请求与许多小请求的问题。我真的相信它有一个明确的答案,或者至少有几个对我有帮助的好答案,还有 SO 社区
-
我投票结束这个问题,因为它是关于广泛的设计问题而不是编程问题。
-
@AdrianHHH 你建议我把它贴在哪里?超级用户?
-
问题是:并非每个有趣/相关的问题都适合本网站的范围。但这并不一定意味着还有其他/更好的地方可以问。
标签: performance http