将大型有效负载发送到Web前端的最有效方法

时间:2019-04-13 03:39:15

标签: javascript json compression protocol-buffers msgpack

我有一个网格,可加载约10万行数据,总计约20MB。为了获取这些数据,我们目前正在执行以下操作:

cursor.execute(sql)
data = cursor.fetchall()
return HttpResponse(data.json())

然后我们将在JavaScript中使用JSON.parse将数据加载到网格中。从端到端,将数据从数据库中获取到网格中最快的方法是什么(有一个警告是我们不允许前端javascript代码中的sql请求)?

我想到的可能的解决方案是:

  • 按原样发送内容,无需压缩
  • gzip json数据(几乎需要零工作)
  • 压缩为lz4,然后在javascript中解压缩(将需要将cpp编译为javascript)
  • 使用其他格式,例如protobuf或消息包

我不关心消息的大小,我只关心将数据显示到前端的端到端时间。基本上,最终用户需要多长时间才能获得响应。

(请注意,我不关心将数据分成多个部分,这是一个非常特殊的用例,其中用户要求将所有数据加载到html表中)

0 个答案:

没有答案