Google-Compute-Engine
Google 計算 - 更少 vCPU 的高 IOPS 與更多的 vCPU 低 IOPS
我的 Postgresql 數據庫在 Google 計算實例 N1 上執行,具有自定義(26 個 vCPU,52 GB 記憶體)和 1.2TB 的持久 ssd 磁碟。此設置未得到充分利用,但將讀取 IOPS 保持在 3k 以下。所以我們將設置減少到自定義(20 個 vCPU,40 GB 記憶體)。什麼原因導致 IOPS 增長超過 7K?
兩種設置中的數據庫工作負載仍然相同。
減少的記憶體減少了記憶體命中。假設您沒有更改數據庫的記憶體配置,以前是作業系統文件系統緩衝區為這些讀取提供服務。
系統記憶體大小與儲存 IOPS 的關係不是線性的。記憶體是在任何記憶體壓力下最先被回收的。換句話說,這 12 GB 的差異很可能完全減少了記憶體。
工作負載類型對於重新引用數據的頻率以及 IO 模式也很重要。如果使用者平均查看 5 分鐘的記錄,那麼當有足夠的記憶體用於 6 分鐘的記憶體與 4 分鐘時,IOPS 會有很大差異。