我有一個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