【发布时间】:2015-07-21 10:35:29
【问题描述】:
我的应用程序有一个 POST 请求的端点。每当对此 POST 请求端点发出请求时,它都会从 Mysql 表(包含 350 万条记录的表)中查询和获取记录,并选择大约 30 万条记录。
它读取这 300k 条记录并将这些数据作为 API 响应以 JSON 格式发送到客户端。
此请求和响应大约需要 15 分钟才能将 300K 记录作为 JSON 响应发回。这在性能上非常慢,客户真的不能接受。
有没有什么快速的方法可以在 API 响应中以 Json 格式发送 30 万条记录?
【问题讨论】:
-
你可以考虑切换到Postgresql,直接使用数据库生成JSON。不久前在blog article about this 中。
-
用 Redis 缓存 JSON 怎么样?
-
“请求和响应大约需要 15 分钟” - 找出这些时间都花在了哪里。执行查询需要多长时间,生成JSON需要多长时间,发送数据需要多长时间?
-
@Stefan 我认为很多时间都花在通过 API 发送数据上。
标签: ruby web-services api sinatra