Hey Folks,
Been directed here (as "some true experts on the topic are on synoforum.com") from Synology Community.
Long story short: I bought myself a first NAS - DS220j - that I plan to use at home.
As I am Linux user I was first looking at NFS mounts but because:
- setting up kerberos is apparently pain
- cannot mount encrypted folders
I am trying SMB. Due to my surprise SMB mount is 20x slower than SMB.
I was expecting it to be slower but not by this much!
Bellow details results of my tests show that on SMB I get ~5 MB/s. This cannot be
optimal as I've seen reports showing it should be much faster:
- Network share: Performance differences between NFS & SMB
- Synology Community
- NAS Performance: NFS vs. SMB vs. SSHFS
Method I used for measurement is similar to the one from the link #1. Plan to follow with method from #3 too.
Question: what can I be doing wrong and how can I get more decent speeds on SMB?
Basically mounts:
Preparation of data:
NFS test:
SMB test:
Note: rsync and sshfs tests are done in similar fashion - can post details if some one is interested but they are not part of the question so wanted to keep it simple.
Results:
SMB settings:
Been directed here (as "some true experts on the topic are on synoforum.com") from Synology Community.
Long story short: I bought myself a first NAS - DS220j - that I plan to use at home.
As I am Linux user I was first looking at NFS mounts but because:
- setting up kerberos is apparently pain
- cannot mount encrypted folders
I am trying SMB. Due to my surprise SMB mount is 20x slower than SMB.
I was expecting it to be slower but not by this much!
Bellow details results of my tests show that on SMB I get ~5 MB/s. This cannot be
optimal as I've seen reports showing it should be much faster:
- Network share: Performance differences between NFS & SMB
- Synology Community
- NAS Performance: NFS vs. SMB vs. SSHFS
Method I used for measurement is similar to the one from the link #1. Plan to follow with method from #3 too.
Question: what can I be doing wrong and how can I get more decent speeds on SMB?
Basically mounts:
Bash:
# Mount of NFS
mount -t nfs doctor-chaos.local:/volume1/nfs-test /mnt/nfs
# Mount of SMB
sudo mount -t cifs -o credentials=/etc/smb-credentials,uid=1000,gid=1000 //doctor-chaos/encrypted-smb-test /mnt/smb/ --verbose
# Mount of SSHFS
sshfs -o Ciphers=aes128-ctr -o Compression=no -o ServerAliveCountMax=2 -o ServerAliveInterval=15 [email protected]:/encrypted-smb-test/ /mnt/sshfs
Preparation of data:
Bash:
HOST_DATA="/tmp/test-data"
rm -rf ${HOST_DATA}
mkdir -p ${HOST_DATA}/1MB
for n in {1..1000}; do
dd if=/dev/urandom of=${HOST_DATA}/1MB/file$( printf %03d "$n" ).bin bs=1M count=1
done
mkdir -p ${HOST_DATA}/100MB
for n in {1..10}; do
dd if=/dev/urandom of=${HOST_DATA}/100MB/file$( printf %03d "$n" ).bin bs=1M count=100
done
mkdir -p ${HOST_DATA}/500MB
for n in {1..2}; do
dd if=/dev/urandom of=${HOST_DATA}/500MB/file$( printf %03d "$n" ).bin bs=1M count=500
done
mkdir -p ${HOST_DATA}/1GB
dd if=/dev/urandom of=${HOST_DATA}/1GB/file$( printf %03d "$n" ).bin bs=1M count=1000
NFS test:
Bash:
HOST_DATA="/tmp/test-data"
rm -rf /mnt/nfs/test
mkdir -p /mnt/nfs/test/1MB
mkdir -p /mnt/nfs/test/100MB
mkdir -p /mnt/nfs/test/500MB
mkdir -p /mnt/nfs/test/1GB
for n in {1..3}; do
(time cp -f ${HOST_DATA}/1MB/* /mnt/nfs/test/1MB/) && (rm -f /mnt/nfs/test/1MB/*)
done
for n in {1..3}; do
(time cp -f ${HOST_DATA}/100MB/* /mnt/nfs/test/100MB/) && (rm -f /mnt/nfs/test/100MB/*)
done
for n in {1..3}; do
(time cp -f ${HOST_DATA}/500MB/* /mnt/nfs/test/500MB/) && (rm -f /mnt/nfs/test/500MB/*)
done
for n in {1..3}; do
(time cp -f ${HOST_DATA}/1GB/* /mnt/nfs/test/1GB/) && (rm -f /mnt/nfs/test/1GB/*)
done
SMB test:
Bash:
HOST_DATA="/tmp/test-data"
rm -rf /mnt/smb/test
mkdir -p /mnt/smb/test/1MB
mkdir -p /mnt/smb/test/100MB
mkdir -p /mnt/smb/test/500MB
mkdir -p /mnt/smb/test/1GB
for n in {1..3}; do
(time cp -f ${HOST_DATA}/1MB/* /mnt/smb/test/1MB/) && (rm -f /mnt/smb/test/1MB/*)
done
for n in {1..3}; do
(time cp -f ${HOST_DATA}/100MB/* /mnt/smb/test/100MB/) && (rm -f /mnt/smb/test/100MB/*)
done
for n in {1..3}; do
(time cp -f ${HOST_DATA}/500MB/* /mnt/smb/test/500MB/) && (rm -f /mnt/smb/test/500MB/*)
done
for n in {1..3}; do
(time cp -f ${HOST_DATA}/1GB/* /mnt/smb/test/1GB/) && (rm -f /mnt/smb/test/1GB/*)
done
Note: rsync and sshfs tests are done in similar fashion - can post details if some one is interested but they are not part of the question so wanted to keep it simple.
Results:
SMB settings: