与单个大型网络调用相比,小型网络调用的成本是多少?

Posted

技术标签:

【中文标题】与单个大型网络调用相比,小型网络调用的成本是多少?【英文标题】:How costly are small network calls compared to a single big one? 【发布时间】:2021-02-14 21:48:47 【问题描述】:

最初的问题是:最好将 GPX 路由存储在后端作为多个单独的文件还是单个整体文件?

您好,我目前正在使用 Squidex 为我的 ios 应用程序构建后端 CMS,我想知道存储特定类别文件的最佳方式是什么。

我正在构建一个包含多个自然公园的徒步旅行应用。自然公园是我的对象层次结构的最顶层元素。它们包含许多字段,我们不会每天都创建一个,因为它们代表了很多工作。 所有这些公园都包含徒步旅行。应用程序应使用 GPX 文件格式显示远足路线。

使用该应用程序的人通常只会浏览几个公园,并且在这几个公园中,会检查 3 或 4 次徒步旅行。根据大小,公园将包含 10 到 200 次徒步旅行,每次徒步旅行都有自己的 GPX 路线。

我想知道最好的方法是什么。 我应该为每次徒步旅行设置一个 GPX 文件字段,还是应该为整个自然公园只制作一个 GPX 文件?“整体”GPX 文件将包含由 ID 标识的所有徒步旅行路线.

我的主要考虑是:

网络成本设备消耗的时间和能源:人们会在网络可能稀缺的地方使用这个应用程序,所以我必须小心管理它。单个文件的单个 GET 调用之间最昂贵的费用是多少,或者假设在很长一段时间内对多个小文件进行 5 到 10 次 GET 调用? 数据中的网络成本:获取整个文件在传输数据和影响用户的蜂窝计划方面肯定会更加昂贵。但我认为我们谈论的最多为 10Mb。 GPX 文件并没有那么大,即使是单体也不应该比几张图片大。 托管费用:大多数 CMS 按网络调用收费,不一定按传输的数据量收费。但是,对于资产而言,情况往往恰恰相反。

考虑到这些因素,我意识到我的问题可以改写为:

当然,我们谈论的是为移动客户提供服务的后端,因此请记住,网络呼叫将在较差的网络条件下执行,这会导致下载速度更长,手机无线电消耗更多能量。

您可能会注意到,我真的很喜欢单体方法,但鉴于我在后端开发方面的经验不足,我害怕错过一些东西。

提前感谢您的见解。

【问题讨论】:

这取决于您愿意一次丢失多少数据。数据包会丢失,数据包中的数据越多,丢失数据包时丢失的数据就越多。 【参考方案1】:

因此,经过几天思考和阅读该主题后,针对我的特殊情况,我将执行多个单独的请求以获取 GPX 文件。

基本原理是,尽管在网络状况不佳的情况下,多个请求可能会成为问题,但对重量超过 10MB 的文件的巨大请求可能会在打开公园时导致加载时间过长。此外,它还为一次下载所有徒步旅行的高级选项留下了空间并提高了效率:用户不会下载他们不需要的数据。

【讨论】:

以上是关于与单个大型网络调用相比,小型网络调用的成本是多少?的主要内容,如果未能解决你的问题,请参考以下文章

网络协议-RPC协议

网络协议-RPC协议

gcp 实例可以与单个网络接口一起使用的最大带宽是多少?

京东如何处理数据中心网络对应用性能的影响

使用GCD单个页面多个网络请求的情况(依次调用接口),等待所有网络请求结束后,再刷新UI

使用GCD单个页面多个网络请求的情况(依次调用接口),等待所有网络请求结束后,再刷新UI