Cifs

CIFS/SMB 性能非常慢

  • April 12, 2021

我從 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 可能會導致數據損壞。

我碰巧在一個使用者很少的家庭網路上,所以這對我來說是可以接受的。

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