当涉及到 web 服务响应消息时,有多少数据太多了?
我有一个用 Java 编写的 HTTP servlet,它在我们的网络之外打开。它调用数据库,然后通过防火墙发回 JSON 消息。我们所说的 344kb 仅用于数据,不包括数据包标头。我不会认为这很重要。我们在 iOS 和 Android 平台上都收到了响应,总往返时间可能在 1 秒到 15 秒之间。平均可能 > 6。我想在 5 秒内稳定地完成这个,我正在学习这是相当了不起的壮举。根据我的时间,对数据库的 web 服务调用是毫秒。我们直接在防火墙后面连接,但在互联网前面(因此排除了互联网),并且看到了可能一秒钟的总往返行程。
作为一项测试,我将返回 JSON 修剪为仅返回 1 行数据 (4kb),当然,我看到速度大幅提高...... 这真的引出了一个问题,当返回 JSON 消息以在期望小于 5 秒的移动设备上消费时,是否存在最大数据大小?运行 wireshark 向我展示了这是作为多个数据包交付的,我想与它有很多关系。
我还计算了客户端接收消息的时间以及在屏幕上呈现消息所花费的时间……仅毫秒。
我不想将我的客户端程序分解为针对不同数据的多个 Web 服务调用,因为该程序非常基础,而且我认为它不需要多次调用。
你怎么看?责怪互联网,只是制作一个漂亮的启动/加载屏幕?:)
** 编辑:我也忘了补充说我正在通过 SSL **