2017-03-23 34 views
0

這與在AWS論壇here上發佈的未回答的問題基本相同。RDS上的讀取IOPS異常偏低

我在Amazon RDS上運行PostgreSQL,使用1000個預配置IOPS的m3.large實例,但我發現讀取IOPS異常低,遠低於寫入IOPS,儘管應用程序是讀取密集型應用程序。

quick IOPS measurement

讀查詢也非常低,與涉及2代表佔用2秒時,有時更長,即使僅限於50行的簡單查詢。

問題在哪裏?我能做些什麼來改善查詢性能?

+0

我在Drupal 7設置上看到了相同的情況,我禁用了memcache來驗證它是否吞噬了一切。我看到讀取IOPS的間隔時間一致,最高爲1,然後是0,然後是1.但是我的寫入IOPS有時高達1,000 IOPS。看起來好像根本沒有讀取IOPS活動。有些東西似乎沒有了。 –

回答

0

此問題應該移至serverfault.com。 無論如何,似乎很多人在進一步挖掘RDS IO性價比之前跳入預置iops:Why buying Provisioned IOPS on RDS may be a mistake

下面是一些常識。 (美西2)

  • 通用SSD(GP2),$ 0.115/GB,3個IOPS
  • 置備IOPS $ 0.125/GB(3個IOPS)+每IOPS 0.10 $

那麼應該怎麼你確實要分配1000個iops並需要存儲100GB的數據?

  1. GP2:1000/3 = 334GB,成本= $ 38.41
  2. 置備IO:100GB×3個+ IOPS 700供應的IO。成本= $ 12.5 + $ 70 = 82.50

現在gp2更好的部分,如果你沒有耗盡所有的保證I/O,甚至可以突破1000iops與配置的io相比。

接下來是查詢性能。恕我直言,這是一個壞問題:你的查詢代碼證明在哪裏?您是否基準查詢結果而不是觀看RDS iops圖表?您是否使用cloudwatch記錄iops趨勢?