Cifs
CIFS/SMB 性能非常慢
我從 NFS 切換到 SMB/CIFS 是因為 NFS 的權限系統讓我很惱火。我在使用 NFS (1GB Lan) 時從未遇到性能問題,並且在寫入我的 Synology NAS 時寫入和讀取速度約為 70-90 MB/s。
我用 dd 測試我的寫入性能(將 500MB 寫入我的 SMB 掛載):
[user@archStd01 Transfer]$ dd if=/dev/zero of=/home/user/NAS/Transfer/test bs=512 count=1000000 1000000+0 Datensätze ein 1000000+0 Datensätze aus 512000000 Bytes (512 MB, 488 MiB) kopiert, 675.388 s, 758 kB/s
如您所見,它的性能非常差,平均為 758 kB/s
我的 fstab:
//192.168.1.100/Transfer /home/user/NAS/Transfer cifs credentials=/home/user/.smbcredentials,uid=1000,gid=1000,vers=3.0,rw 0 0
目前我瀏覽了一些 SMB 手冊,但我沒有發現太多關於性能問題的資訊。有誰知道從哪裡開始?
// 使用 dd 編輯性能測試,塊大小為 10MB
[user@archStd01 Transfer]$ dd if=/dev/zero of=/home/user/NAS/Transfer/test bs=10M count=500 500+0 Datensätze ein 500+0 Datensätze aus 5242880000 Bytes (5.2 GB, 4.9 GiB) kopiert, 406.979 s, 12.9 MB/s
它好多了,但距離快速還很遠。
我只是對類似的 CIFS 性能問題感到困惑。與 Windows 客戶端和我們的 Samba 伺服器之間的傳輸速度很快,但從伺服器下載到兩台 Ubuntu 機器(執行仿生)的速度很慢。使用 SCP 傳輸而不是 CIFS 沒有速度問題,因此問題不在於底層網路。按照這個 ubuntuforums thread的建議,我嘗試在 /etc/fstab 中將cache=loose添加到我的 Ubuntu 客戶端的 cifs 掛載配置中,現在兩個方向的速度都達到了我的預期(在我的情況下大約是 x7-10 改進)。
//server/share /media/localMountPoint cifs cache=loose,rw,...
但是,根據mount.cifs 手冊頁,正如海報在 ubuntuforums 執行緒上警告的那樣:
當多個讀取器和寫入器處理同一個文件時,cache=loose 可能會導致數據損壞。
我碰巧在一個使用者很少的家庭網路上,所以這對我來說是可以接受的。