在我的本地 Linux CentOS 伺服器上,在外部 USB 硬碟上寫入非常慢
我有這個外置硬碟:
_ Buffalo Ministation TurboUSB HD-PS250U2 250 GB
_ 剛剛使用 ext3 格式化
_ 250 GB
_ 介面 USB2
_ SATA 150 內部介面
_ 沒有硬體加密
_ 完整規格可以在這裡找到:http://www.dooyoo .co.uk/external-hard-drive/buffalo-ministation-turbousb-hd-ps250u2-250-gb/details/
我在不同的機器上使用文件 foo.tar.bz2 做一些數據傳輸基準測試。我只是將硬碟連接到 USB 埠並將文件從電腦硬碟複製到外部硬碟(使用 cp 命令)。
在我的開發機器(Linux CentOS)上,數據傳輸率為 33MBps(這很好)。
我的問題是我們的辦公室伺服器。那裡的數據傳輸率為1MBps!怎麼會這麼低?!
關於辦公伺服器的一些細節:
_ Dell PowerEdge T300
_ 執行 CentOS 64 位
_ 執行 VirtualBox
_ 基準測試是在主機系統上完成的,而不是在虛擬機上 _ 目前我不認為伺服器特別忙
“/sbin/hdparm -tT /dev/sda1”在我的開發機器上的輸出是:
計時記憶體讀取:2.00 秒內 4220 MB = 2108.41 MB/秒
計時緩衝磁碟讀取:3.02 秒內 332 MB = 110.10 MB/秒
在伺服器機器上“/sbin/hdparm -tT /dev/sda1”的輸出是:
計時記憶體讀取:1.99 秒內 25500 MB = 12795.49 MB/秒
計時記憶體磁碟讀取:3.01 秒內 398 MB = 132.04 MB/秒
你認為可能是什麼問題?
我認為可能缺少一個軟體,可能是驅動程序或核心模組。
或者可能是配置問題?
或者也許是 VirtualBox 導致了這個問題?
或者問題可能是機器內部匯流排的速度?
感謝閱讀,丹尼爾
1 MB/s 聽起來像是 USB 1.1 連接而不是 USB 2.0。dmesg告訴您有關 USB 驅動器的哪些資訊?
編輯:所以在這種情況下,真正的原因是預設情況下 USB 驅動器安裝了sync選項而不是async。這殺死了寫入性能。