I have done some folder browsing test and also some huge file copy.
The hardware used for the test is as below.
WIN 2008 r2
Intel Xeon E5507 2.27 GHz
8 GB memory
Hardware Raid1 SCSI disk 10k rpm
FreeNAS Mini (Asrock C2750D4I)
32GB memory
Raid 10 (4* 4TB WD Red)
FreeNAS Backup
8 GB memory
Raid1 (2* 9 TB WD red)
Athlon AMD 64 4200+ 2.2 GHz
Proxmox 3.2
7GB memory (only 1024 MB is designated for the container)
Single old spinning disk
Athlon AMD 64 4200+ 2.2 GHz (same old hardware as FreeNAS Backup but with slower disk)
Client : HP Z600 workstation
12 GB memory
SSD 120GB
Win 7
FreeNAS versions :
9.3
9.10.1-U2
Proxmox 3.2
Using here a openvz container for my test. Witch in it's turn adds a bit overhead. The Linux kernel should be based on RHEL7x
Samba version 3.6.6
File system is ext3
Scripts.
For making 50k+ files
Folder browsing script (obs windows bat file)
Iperf
First I measured the network with iperf. Iperf version 2.09 is used on the windows client and WIN2008. Iperf 2.0.5 is used on the *nix boxes.
For server side :
For client side :
All three servers (FreeNAS mini, FreeNAS backup, WIN 2008) clocked in at 860 MBits/sec. The Openvz container on the Proxmox box was this day a fraction slower 800 MBits/sec. This box sits next to its brother FreeNAS backup box.
Preparation :
On each box 2 folders is generated.
Folder 1 50k files is added.
Folder 2 will hold a huge file 10.5 Gb for copy testing.
Each folder listening is done with the same bat file. For BSD boxes cpu core is monitored with top -P
Win 2008 r2
1,1 sec folder browsing script
58 MB/sec copy huge file from server
94 MB/sec copy to server
FreeNAS mini 9.10
17,8 sec folder browsing script (87% utilization on single core)
18 – 30 sec while jumping in and out with windows file explorer.
FreeNAS backup 9.10
28.20 sec for folder browsing script (75% utilization on single core)
28 sec more or less steady while jumping in and out with windows file explorer.
proxmox 3.2
1,9 sec folder browsing script
85 MB/sec copy huge file from server
55 MB/sec copy huge file to server
After adding auxiliary parameter on shares ...
FreeNAS mini 9.10
17.3 sec folder browsing script
89 MB/sec copy huge file from server
98 MB/sec copy huge file to server
FreeNAS backup 9.10
27.9 sec folder browsing script
95 MB/sec copy huge from server
98 MB/sec copy huge to server
Not much of a change ...
Booted up the FreeNAS mini into 9.3
FreeNAS mini 9.3
3.6 sec for folder browsing script
110 MB/sec for copy huge file from server
85 MB/sec for copy huge file to server
Summary :
9.3 outperform 9.10 when it comes to folder browsing. But windows will even be around 3 times faster then 9.3. Proxmox (based on debian) will be between 9.3 and win2008.
Yes the test is done over different hardware, but the win2008 box i several years old. And still it doing better on this topic then the samba shares.
If we sort them from fast to slow.
win2008 (ntfs) 1,1 sec
Proxmox 3.2 (ext3) 1,9 sec
FreeNAS 9,3 (zfs) 3,6 sec
FreeNAS 9.10 (zfs) 17,3 sec
What is your measurements from my scripts ?
For easy mimic my result make this folder structure.
In measure.bat paste the folder browse script code above.
From your win client map the share to some letter and just hit the bat file. If you want to have the bat file locally just change the line
One ting is odd thought. When running my browsing script on Proxmox 3.2 it miss its first pass. Se example output bellow.
This is not the case with FreeNAS ZFS. Se bellow
The hardware used for the test is as below.
WIN 2008 r2
Intel Xeon E5507 2.27 GHz
8 GB memory
Hardware Raid1 SCSI disk 10k rpm
FreeNAS Mini (Asrock C2750D4I)
32GB memory
Raid 10 (4* 4TB WD Red)
FreeNAS Backup
8 GB memory
Raid1 (2* 9 TB WD red)
Athlon AMD 64 4200+ 2.2 GHz
Proxmox 3.2
7GB memory (only 1024 MB is designated for the container)
Single old spinning disk
Athlon AMD 64 4200+ 2.2 GHz (same old hardware as FreeNAS Backup but with slower disk)
Client : HP Z600 workstation
12 GB memory
SSD 120GB
Win 7
FreeNAS versions :
9.3
9.10.1-U2
Proxmox 3.2
Using here a openvz container for my test. Witch in it's turn adds a bit overhead. The Linux kernel should be based on RHEL7x
Samba version 3.6.6
File system is ext3
Scripts.
For making 50k+ files
Code:
#!/bin/bash for n in {1..50000} do touch $n; done
Folder browsing script (obs windows bat file)
Code:
@echo off REM http://stackoverflow.com/questions/9922498/calculate-time-difference-in-windows-batch-file cls CALL :GetStartTime rem Any process here... CALL :GetStartTime CALL :GetEndTime for /l %%i in (1, 1, 3) do ( set /A newstart=end CALL :GetEndTime dir manyfiles >NUL set /A elapsed=end-newstart echo For run %%i CALL :ShowTime set cnt=%%i ) echo ............. echo ............. echo for %cnt% iterations: echo total time : set /A elapsed=end-start CALL :ShowTime echo ............. echo average time : set /A elapsed=(end-start)/cnt CALL :ShowTime :: :: End main program :: GOTO End REM *** Get end time: :GetEndTime for /F "tokens=1-4 delims=:.," %%a in ("%time%") do ( set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100" ) GOTO :EOF REM *** Get start Time *** :GetStartTime rem Get start time: for /F "tokens=1-4 delims=:.," %%a in ("%time%") do ( set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100" ) GOTO :EOF REM *** Show elapsed time: *** :ShowTime set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100 if %mm% lss 10 set mm=0%mm% if %ss% lss 10 set ss=0%ss% if %cc% lss 10 set cc=0%cc% ::echo %hh%:%mm%:%ss%,%cc% echo %ss%,%cc% GOTO :EOF :End pause
Iperf
First I measured the network with iperf. Iperf version 2.09 is used on the windows client and WIN2008. Iperf 2.0.5 is used on the *nix boxes.
For server side :
Code:
iperf -s
For client side :
Code:
iperf -c 192.168.100.2 .. and so on
All three servers (FreeNAS mini, FreeNAS backup, WIN 2008) clocked in at 860 MBits/sec. The Openvz container on the Proxmox box was this day a fraction slower 800 MBits/sec. This box sits next to its brother FreeNAS backup box.
Preparation :
On each box 2 folders is generated.
Folder 1 50k files is added.
Folder 2 will hold a huge file 10.5 Gb for copy testing.
Each folder listening is done with the same bat file. For BSD boxes cpu core is monitored with top -P
Win 2008 r2
1,1 sec folder browsing script
58 MB/sec copy huge file from server
94 MB/sec copy to server
FreeNAS mini 9.10
17,8 sec folder browsing script (87% utilization on single core)
18 – 30 sec while jumping in and out with windows file explorer.
FreeNAS backup 9.10
28.20 sec for folder browsing script (75% utilization on single core)
28 sec more or less steady while jumping in and out with windows file explorer.
proxmox 3.2
1,9 sec folder browsing script
85 MB/sec copy huge file from server
55 MB/sec copy huge file to server
After adding auxiliary parameter on shares ...
Code:
store dos attributes = no ea support = no map archive = no map hidden = no map system = no map readonly = no case sensitive = true default case = lower preserve case = no short preserve case = no
FreeNAS mini 9.10
17.3 sec folder browsing script
89 MB/sec copy huge file from server
98 MB/sec copy huge file to server
FreeNAS backup 9.10
27.9 sec folder browsing script
95 MB/sec copy huge from server
98 MB/sec copy huge to server
Not much of a change ...
Booted up the FreeNAS mini into 9.3
FreeNAS mini 9.3
3.6 sec for folder browsing script
110 MB/sec for copy huge file from server
85 MB/sec for copy huge file to server
Summary :
9.3 outperform 9.10 when it comes to folder browsing. But windows will even be around 3 times faster then 9.3. Proxmox (based on debian) will be between 9.3 and win2008.
Yes the test is done over different hardware, but the win2008 box i several years old. And still it doing better on this topic then the samba shares.
If we sort them from fast to slow.
win2008 (ntfs) 1,1 sec
Proxmox 3.2 (ext3) 1,9 sec
FreeNAS 9,3 (zfs) 3,6 sec
FreeNAS 9.10 (zfs) 17,3 sec
What is your measurements from my scripts ?
For easy mimic my result make this folder structure.
Code:
- |--manyfiles -| (add 50k+ files in this folder) |-measure.bat
In measure.bat paste the folder browse script code above.
From your win client map the share to some letter and just hit the bat file. If you want to have the bat file locally just change the line
dir manyfiles >NUL
to suite your needs.One ting is odd thought. When running my browsing script on Proxmox 3.2 it miss its first pass. Se example output bellow.
Code:
For run 1 00,01 For run 2 02,01 For run 3 02,01 ............. ............. for 3 iterations: total time : 04,03 ............. average time : 01,34 Press any key to continue . . .
This is not the case with FreeNAS ZFS. Se bellow
Code:
For run 1 03,44 For run 2 03,50 For run 3 03,50 ............. ............. for 3 iterations: total time : 10,45 ............. average time : 03,48 Press any key to continue . . .
Last edited by a moderator: