我有一個看起來像這樣的動作:什麼是「意見」參照:完成200 OK在989ms(瀏覽次數:968.5ms | ActiveRecord的:13.9ms)
def facebook_login
render json: {users:User.all}
end
我的本地服務器上運行一個MacBook Pro的2013年年初輸出這樣的:
完成200 OK在989ms(瀏覽次數:968.5ms | ActiveRecord的:13.9ms)
Heroku的輸出本作同樣的API調用:
在3849ms完成200 OK(查看:3782.6ms | ActiveRecord:49.4ms)
Users表包含3000條記錄。
這是用戶表的架構:
create_table "users", force: :cascade do |t|
t.string "email"
t.string "first_name"
t.string "last_name"
t.string "gender"
t.string "birthday"
t.string "bio"
t.string "facebook_id"
t.string "avatar"
t.string "password_digest"
t.string "auth_token"
t.boolean "admin", default: false, null: false
end
我的日誌從Rails服務器:
Started POST "/facebook_login.json" for 192.168.1.7 at 2015-07-06 03:39:07 -0400
Cannot render console from 192.168.1.7! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
Processing by HomeController#facebook_login as JSON
Parameters: {"avatar"=>"https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpa1/v/t1.0-1/10891984_10100428479784882_2780393036688516385_n.jpg?oh=b745f67a9aa8f12eeb283962473bade0&oe=5621674B&__gda__=1444484154_c3db5d55964941a930530b70aa6ef44c", "first_name"=>"Tara", "bio"=>"", "last_name"=>"Lloyd", "birthday"=>"07/08/1985", "email"=>"[email protected]", "facebook_id"=>"10100528233672292", "auth_token"=>"750435390234913", "home"=>{"avatar"=>"https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpa1/v/t1.0-1/10891984_10100428479784882_2780393036688516385_n.jpg?oh=b745f67a9aa8f12eeb283962473bade0&oe=5621674B&__gda__=1444484154_c3db5d55964941a930530b70aa6ef44c", "first_name"=>"Tara", "bio"=>"", "last_name"=>"Lloyd", "birthday"=>"07/08/1985", "email"=>"[email protected]", "facebook_id"=>"10100528233672292", "auth_token"=>"750435390234913"}}
User Load (13.6ms) SELECT "users".* FROM "users"
Completed 200 OK in 989ms (Views: 968.5ms | ActiveRecord: 13.9ms)
我建立一個Rails應用程序從數據庫中提取數據,並返回一個JSON。沒有圖像或視圖要呈現。爲什麼「視圖」在Heroku上快一秒鐘(4秒),而ActiveRecord只有14ms?這是什麼「觀點」在做什麼?所有這些API調用都是從用戶表中讀回3000條記錄,那麼爲什麼這麼多時間花在「視圖」上呢?我錯過了什麼嗎?
我試過在我的environments/development.rb中做config.cache_classes = true,但它沒有改變任何東西。
另外,我不明白爲什麼我給了這個問題六分。我有沒有冒犯任何人,但暗示Rails速度緩慢?
編輯:{用戶::User.all}
與:
渲染JSON:
替換
渲染JSON後MultiJson.dump ({users:User.all})
我看到這個Heroku的日誌:
Completed 200 OK in 5223ms (Views: 0.3ms | ActiveRecord: 57.6ms)
然而,0.3ms的+ 57.5ms不等於5223ms,所以那些是什麼其他5秒花在?
基於_your_代碼,你永遠不能斷言那東西很慢。 –
我把這個問題擴展了很多,請看看 – etayluz
版主,請重新打開這個問題,否則我會刪除它並再次提問 – etayluz