Ext4

寫入 ext4,8GB 分區與 512MB 分區

  • August 21, 2018

我有一個與程式有關的問題,但主要與 ext4 的工作原理有關。

我有一個程序將 128MB 寫入一個文件,並改變隨機對齊的偏移量。我每次寫入呼叫都會寫入 256KB。現在,兩種設備之間的速度結果存在顯著差異。

我有/dev/sda兩個/dev/sdbext4,而sda是8GB,sdb是512MB。

例如,一個寫入任務 on/dev/sda需要 0.7 秒才能完成,而相同的寫入需要 0.05 秒才能完成/dev/sdb。兩個分區都在同一個硬碟上,而不是 SSD。

**編輯:**對不起,我忘了補充一點,這是在帶有 VirtualBox 的虛擬機上執行的,主機是 Windows 系統。它絕對只有一個物理驅動器,因為我的筆記型電腦只有一個。

**EDIT2:**我發現了問題,我在我認為是“/dev/sda”的地方執行程序,但它是我從主機系統安裝的共享文件夾。我沒有意識到文件系統會有所不同。

我很想知道幕後的東西可能會導致性能發生如此巨大的變化,謝謝!

由於這對於在這裡發表評論來說有點太長了……

有兩件事讓我很感興趣:

首先,/dev/sda 和 /dev/sdb 是兩個不同的物理驅動器,否則我們將談論 /dev/sda1 和 /dev/sda2。因此,如果我們談論不同的物理驅動器,它們的性能可能會有所不同。

其次,如果這個資訊有誤並且我們在同一個驅動器上有兩個分區(/dev/sda1 和 /dev/sda2),那麼物理驅動器的大小是多少?大於 2TB 分區的驅動器必須正確對齊,否則您將遇到性能問題。會不會是您的一個分區已對齊而另一個未對齊?除了程序之外,您是否嘗試過通過其他方式測試分區速度?檢查此項以測試驅動器速度。

引用自:https://unix.stackexchange.com/questions/196559