一尘不染

在Rails中渲染JSON的最快方法是什么

json

我在Rails应用程序中优化了一些缓慢的事务,并且看到了花费大量时间渲染JSON视图:

Rendered welcome/index.json.rabl (490.5ms)
Completed 200 OK in 1174ms (Views: 479.6ms | ActiveRecord: 27.8ms)

假设API调用恰好返回了需要返回的数据, 那么在rails中呈现JSON的最快方法是什么?

我们之所以使用Rabl是因为能够轻松共享代码,但是我们并不局限于此。


阅读 226

收藏
2020-07-27

共1个答案

一尘不染

Rabl
multi_json用于跨平台的兼容性,默认情况下不使用速度非常快的Yajl库。Rabl的配置文档解释了该解决方案:

# Gemfile
gem 'yajl-ruby', :require => "yajl"

如果仍然无法提供足够的性能,则可能需要探索像oj这样的其他JSON序列化程序。您还可以检测渲染并查看瓶颈所在。

2020-07-27