BarryCarey
Cadet
- Joined
- Sep 19, 2016
- Messages
- 6
Hey All,
This weekend I added a few 10GbE cards to my network along with a couple more drives to my pool. However, performance is not where I was expecting when transferring between my Freenas boxes or PC.
I know performance related questions are a dime a dozen around here so I'll try to be as detailed as possible.
Freenas Hosts
Main Freenas Server
Running in ESXI but I also did the tests while with baremetal Freenas on the same server (with full 72gb of RAM) with very similar results
8 Cores (host is Dual Xeon 5620)
48gb RAM
H200 Passed through to VM
Pool: 6x 4tb Seagate 7200rpm drives in a Striped Mirror 2x2x2
2nd Freenas Server
Xeon X5650
24gb RAM
Pool: 6x 2tb assorted 7200rpm drives in RAIDZ1
Networking
Both servers have a Mellanox ConnectX-2 cards directly connect with DAC
Performance Tests
Main Server
iperf: Speed is fine, 9gbps+ between all the hosts.
DD Write:
Result: 418mbs
DD Read:
Result: 589mbs
https://puu.sh/t2tiY/e733088ff7.png
2nd Server
DD Write:
Result: 399mbs
DD Read:
Result: 305mbs
Tunables
Main server: https://puu.sh/t1UGD/d96b112a91.png
2nd Server: https://puu.sh/t1UJb/aad97d7ce3.png
Background
The pool on my main server was originally using 4x 4tb drives in a striped mirror. It was about full so I added 2 more 4tb drives. After adding the drives I moved all data over to my 2nd server and deleted/recreated the pool on the original. All tests above are performed on an empty pool for the main server.
When transferring the data back to the pool I noticed transfer speeds were far less than expected. I first did a Send/Receive from the 2nd server to the main server. Speeds were around 700mbps. I then decided to try Rsync. This results in around 600mbps when moving files ~20gb. If I run multiple Rsync sessions I cannot get above combined 1.5gbps transfer. This is no where near what iperf and DD show should be possible. I've tried many suggestions I've found around here and nothing has helped so far.
This screenshot shows as 3 Rsync transfers are started from the 2nd server to the main. Each step in speed is when a transfer is start. All 3 transfers are of video files ranging from 2gb to 30gb.
https://puu.sh/t2tgQ/d1a35805ec.png
I'm hoping someone can offer some advise to get me going in the right direction.
This weekend I added a few 10GbE cards to my network along with a couple more drives to my pool. However, performance is not where I was expecting when transferring between my Freenas boxes or PC.
I know performance related questions are a dime a dozen around here so I'll try to be as detailed as possible.
Freenas Hosts
Main Freenas Server
Running in ESXI but I also did the tests while with baremetal Freenas on the same server (with full 72gb of RAM) with very similar results
8 Cores (host is Dual Xeon 5620)
48gb RAM
H200 Passed through to VM
Pool: 6x 4tb Seagate 7200rpm drives in a Striped Mirror 2x2x2
2nd Freenas Server
Xeon X5650
24gb RAM
Pool: 6x 2tb assorted 7200rpm drives in RAIDZ1
Networking
Both servers have a Mellanox ConnectX-2 cards directly connect with DAC
Performance Tests
Main Server
iperf: Speed is fine, 9gbps+ between all the hosts.
DD Write:
[root@freenas] /mnt/tank/test# dd if=/dev/zero of=tmp.dat bs=2048k count=50k
51200+0 records in
51200+0 records out
107374182400 bytes transferred in 256.724640 secs (418246501 bytes/sec)
Result: 418mbs
DD Read:
[root@freenas] /mnt/tank/test# dd if=tmp.dat of=/dev/null bs=2048k count=50k
51200+0 records in
51200+0 records out
107374182400 bytes transferred in 182.100611 secs (589642077 bytes/sec)
Result: 589mbs
https://puu.sh/t2tiY/e733088ff7.png
2nd Server
DD Write:
[root@fn2] /mnt/tank/test# dd if=/dev/zero of=tmp.dat bs=2048k count=50k
51200+0 records in
51200+0 records out
107374182400 bytes transferred in 268.583272 secs (399779858 bytes/sec)
Result: 399mbs
DD Read:
[root@fn2] /mnt/tank/test# dd if=tmp.dat of=/dev/null bs=2048k count=50k
51200+0 records in
51200+0 records out
107374182400 bytes transferred in 351.216426 secs (305720845 bytes/sec)
Result: 305mbs
Tunables
Main server: https://puu.sh/t1UGD/d96b112a91.png
2nd Server: https://puu.sh/t1UJb/aad97d7ce3.png
Background
The pool on my main server was originally using 4x 4tb drives in a striped mirror. It was about full so I added 2 more 4tb drives. After adding the drives I moved all data over to my 2nd server and deleted/recreated the pool on the original. All tests above are performed on an empty pool for the main server.
When transferring the data back to the pool I noticed transfer speeds were far less than expected. I first did a Send/Receive from the 2nd server to the main server. Speeds were around 700mbps. I then decided to try Rsync. This results in around 600mbps when moving files ~20gb. If I run multiple Rsync sessions I cannot get above combined 1.5gbps transfer. This is no where near what iperf and DD show should be possible. I've tried many suggestions I've found around here and nothing has helped so far.
This screenshot shows as 3 Rsync transfers are started from the 2nd server to the main. Each step in speed is when a transfer is start. All 3 transfers are of video files ranging from 2gb to 30gb.
https://puu.sh/t2tgQ/d1a35805ec.png
I'm hoping someone can offer some advise to get me going in the right direction.
Last edited: