「寫懸崖」現像只發生在SSD磁碟上嗎?

「寫懸崖」現像只發生在SSD磁碟上嗎?

首先,我是磁碟新手,只了解基礎知識。我正在嘗試提高具有大量 I/O 的軟體的性能,並且我需要了解我的 SAS 磁碟在讀取和寫入速度方面的工作原理。

我已經完成了非常基本的讀/寫測試,並且我注意到似乎是“寫懸崖”。磁碟有幾 TB 的儲存容量,它們連接的機器有 630GB 的 RAM。我的測試表明,在~200GB的密集寫入之後,寫入速度從~2000MBps下降到~300MBps。

我猜想有某種大緩衝區或快取在某個時刻被填滿,這會導致寫入速度下降。這到底是如何運作的呢?我怎麼能計算它的大小?可以配置嗎?

答案1

對於直連 SAS 陣列來說,300M/s 是完全正常的寫入速度。以上所有內容都是作業系統快取的產物。

如果不知道您的應用程式做了什麼,則很難判斷,但在許多情況下,O_DIRECT打開檔案時使用該標誌會給您帶來更現實的行為:它使系統繞過快取並直接進入磁碟控制器,從而刪除快取工件和寫懸崖。

當然,這是以將寫入效能降低到I/O 硬體的實際水平為代價的- 但這正是重點:您不能以可持續的方式寫入比磁碟子系統允許的速度更快的速度:緩存將有很大幫助具有突發寫入負載,但無法永遠克服底層硬體的限制。

相關內容