Vps

ruby on rails 上的 mongodb 慢

  • May 11, 2015

我有一個執行 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% 的電量。

引用自:https://serverfault.com/questions/686553