Filesystems
ionice 如何與多個驅動器一起工作?
我知道
ionice
當您有多個程序請求訪問相同的磁碟資源時如何為您提供幫助,但是當您有多個磁碟時它如何工作?例如,您有一個
rsync
操作從Drive A -> Drive B移動數據,另一個rsync
從Drive C -> Drive D移動數據。從理論上講,由於它們不競爭資源,
ionice
因此這些rsync
程序之一不應改變其吞吐量。這是它的工作原理,還是會影響性能?此外,在與驅動器速度無關的Linux系統上可能會遇到的總I/O是否有一些“上限” ?就像你連接了 100 個SSD驅動器,在某些時候作業系統會遇到驅動器速度之外的瓶頸嗎?
在 Linux 上,驅動器的調度是相互獨立的。您甚至可以通過寫入
/sys/block/<device>/queue/iosched
.記憶體和磁碟之間的頻寬確實會成為瓶頸。這就是硬體 RAID 有意義的原因:數據被發送到 RAID 控制器一次,而不是單獨發送到每個磁碟。您還可以通過將這 100 個 SSD 連接到多台電腦來增加此頻寬,從而在它們之間分配負載。
我不確定 IO 調度程序如何考慮到這一點,但我認為不會。