我有一个index.html页面,我做了一个ajax调用,并且我得到了成功的ajax的JSON数据并发送JSON到其他函数。如何减少响应为JSON的请求响应时间?
$.ajax({
type : "GET",
url : 'get_data',
dataType : 'json',
success: function(data) {
update_page(data.info);
}
})
在控制器我有
def get_data
parents = Parent.all
students = Student.all
teachers = Teacher.all
schools = School.all
@collection = {"parents" => parents, "students" => students, "teachers" => teachers, "schools" => schools}
respond_to do |format|
format.json { render json: Oj.dump({"info" => @collection.to_json(:except=> [:created_at, :updated_at]) }) }
end
end
大约有1500
记录每个模型。它需要很多时间来响应,而且内存消耗也很高。我使用new relic
来跟踪响应时间,它花费了大约12000ms
,我使用oink
和其他工具,如rack mini profiler
,它显示内存消耗和响应时间更高,但我不确定如何解决此问题。
请帮我解决这个问题。过去两天我一直在尝试,我找不到解决方案。
在此先感谢!
对不起,我实际上使用这些数据显示在谷歌地图上,因此我需要所有这些数据在同一页 – logesh 2014-11-22 10:02:25
@Logesh您确定在任何时间点,您的用户需要查看所有学校/教师/父母/生?我想你的地图将从一个只有几十所学校的地方开始,这就是你需要查询的数据量。当用户浏览到地图上的新位置时,将会加载更多数据。那个怎么样? – Hoa 2014-11-22 10:06:22
这是一个好主意,但它不适合我,因为最初我会放大以便显示地图中的所有标记,并且它们可能会聚集在一起。点击群集我会分手显示。 – logesh 2014-11-22 10:10:44