Filesystems

ionice 如何與多個驅動器一起工作?

  • January 1, 2017

我知道ionice當您有多個程序請求訪問相同的磁碟資源時如何為您提供幫助,但是當您有多個磁碟時它如何工作?

例如,您有一個rsync操作從Drive A -> Drive B移動數據,另一個rsyncDrive C -> Drive D移動數據。

從理論上講,由於它們不競爭資源,ionice因此這些rsync程序之一不應改變其吞吐量。這是它的工作原理,還是會影響性能?

此外,在與驅動器速度無關的Linux系統上可能會遇到的總I/O是否有一些“上限” ?就像你連接了 100 個SSD驅動器,在某些時候作業系統會遇到驅動器速度之外的瓶頸嗎?

在 Linux 上,驅動器的調度是相互獨立的。您甚至可以通過寫入/sys/block/<device>/queue/iosched.

記憶體和磁碟之間的頻寬確實會成為瓶頸。這就是硬體 RAID 有意義的原因:數據被發送到 RAID 控制器一次,而不是單獨發送到每個磁碟。您還可以通過將這 100 個 SSD 連接到多台電腦來增加此頻寬,從而在它們之間分配負載。

我不確定 IO 調度程序如何考慮到這一點,但我認為不會。

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