EBS、EC2 VolumeReadBytes 與 VolumeReadOps

EBS、EC2 VolumeReadBytes 與 VolumeReadOps

我正在運行一個 EC2 m4.xlarge 實例,其中有一個 500GB 冷 HDD EBS 卷,用作我正在運行的圖像調整大小服務的緩存(nginx 反向代理後面的拇指)。

影像服務似乎時不時地超載,我不知道瓶頸在哪裡。 CPU 負載和記憶體看起來都很好,當時的流量似乎沒有增加很多。似乎與該問題相關的一件事是,幾乎每天在特定時間,VolumeReadBytes 都會下降,而 VolumeReadOps 會跳躍大約半小時。我沒有運行任何 cron 作業,伺服器專門用於提供調整大小的圖像。我不知道這可能是什麼。這可能是問題所在嗎?

任何建議將不勝感激。

答案1

EBS 對 IOPS 和吞吐量有配額。有些東西使 IOPS 達到最大,問題是什麼。

有幾個工具可以找到這個問題。 iotop --time --batch是一。 Brendan Gregg 的 perf-tools 腳本中的 iosnoop 是另一個,如果你想要 ftrace 實作。

甚至可以設定auditd來記錄所有讀取的系統呼叫。但記錄到文件過多可能會使用大部分 IOPS 配額...

無論您的決心如何,您都需要呼叫來停止該任務、使用更快的存儲,或容忍這半小時的低效能。

相關內容