Vps
ruby on rails 上的 mongodb 慢
我有一個執行 mysql 和 mongodb(mongoid 框架)的 ruby on rails 應用程序。
我用 siege 測試了負載測試,設置
-c 60 -r 10
在一頁上有 2 個站歌查找查詢。每個需要超過 22 秒。這是查詢:
QUERY database=**** collection=stationsongs selector={"$query"=>{"station_id"=>12812}, "$orderby"=>{"_id"=>-1}} flags=[] limit=10 skip=0 batch_size=nil fields=nil
兩個站歌都發現查詢是相同的(是的,我知道我應該找到一個,但它仍然非常緩慢)
我的收藏只有一百萬多一點,並且在 station_id 和 _id 上有索引。VPS 有 4 個核心和 32 GB RAM。
為什麼這麼慢?!
這個問題是一個混合問題。這是 VPS 上的性能,也是 mongodb 上的索引。我添加了正確的索引,它解決了一些問題,但由於 CPU 速度慢,查詢仍然很慢。所以轉移到專用伺服器,一切都得到修復,現在在 80 毫秒內回答,而不是 22 秒。
VPS 的客戶端超載,所以我的 CPU 被盜了 60-70% 的電量。