Why FreeNAS 9.3 fail to sustain the CIFS transfer rate?

Status
Not open for further replies.

daimi

Dabbler
Joined
Nov 30, 2013
Messages
26
When I copy a folder contains 50GB of data from Windows 7 (using File Explorer) to FreeNAS cifs share, why does the CIFS transfer rate drop so low?
  • For the first 6 mins, the transfer rate is at ~80MBytes/s
  • Then the transfter rate gradually drop to <10MBytes/s
This can also be seen in FreeNAS reporting:
slowdown.png


-- Hardware setup --
500GB SSD (Segate 600 pro )
IBM M1050 Card (Flashed to LSI 9211 IT Mode)
8GB ECC RAM
GB Network
8GB USB thumb drive (where FreeNAS 9.3 is installed on)

-- Volume setup --
zpool : a single 500GB SSD (encryption enabled, no RAID, no ZIL)
...\->zfs datasest 1: share type:"unix" (default for everything else such as compression:lz4, atime: on)
......\->zfs datasest 2: share type:"windows" (default for everything else such as compression:lz4, atime: on)
.........\-> "data" folder is created

-- Share setup --
cifs : \mnt\zfs datasest 1\zfs datasest 2\data
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
If the folder has lots of small files your performance will be variable. If you want to test your throughput do it without using files or use one big file to show streaming writes.
 

daimi

Dabbler
Joined
Nov 30, 2013
Messages
26
If the folder has lots of small files your performance will be variable. If you want to test your throughput do it without using files or use one big file to show streaming writes.

I've just tested by copying a 50GB of folder contain mostly <1MBytes files from Windows 7 (using File Explorer) to FreeNAS cifs share. The transfer rate is around 5MBytes/s and tool over an hour to complete. Does this sound right to you?

Can I use pure SSD drives as my storage disk? Because I thought pure SSD storage would be faster on both sequential and random operation when compare to HDD with ZIL
Do I still need to add ZIL for my SSD storage drives?

Please give me some hints on how I can improve the CIFS share transfer rate. Thanks in advance.
 

SweetAndLow

Sweet'NASty
Joined
Nov 6, 2013
Messages
6,421
ZIL will make no difference. Depending on your workflow your performance will vary, small file writes is something that is usually slow and requires lots of overhead. Your speeds seem slow but you need to know more about performance before you can figure out why.
 

daimi

Dabbler
Joined
Nov 30, 2013
Messages
26
I copying the following from Windows 7 (using File Explorer) to FreeNAS cifs share:
  • A file of 1.67GB ("FreeBSD-9.3-RELEASE-amd64-dvd1.iso") in 22s
  • A folder of 1.53GB (24380 files and 7429 folder) in 5m24s
Does the time difference sound reasonable?
 

daimi

Dabbler
Joined
Nov 30, 2013
Messages
26
ZIL will make no difference. Depending on your workflow your performance will vary, small file writes is something that is usually slow and requires lots of overhead. Your speeds seem slow but you need to know more about performance before you can figure out why.

I copied below from Windows 7 (using File Explorer) to FreeNAS cifs share:
  1. A file of 1.67GB ("FreeBSD-9.3-RELEASE-amd64-dvd1.iso") in 22s
  2. A folder of 1.81GB (unzipped "FreeBSD-9.3-RELEASE-amd64-dvd1.iso" contains 18617 files and 1030 folder) in 3m24s
To delete it took:
  1. 0.1s
  2. 37s
Does those time difference sound reasonable?
 
Last edited:

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
They don't sound unreasonable.

Determine if something is reasonable is hard without very specific knowledge of a lot of things. So I think it's better in this case to simply say that those numbers aren't unreasonable.
 

daimi

Dabbler
Joined
Nov 30, 2013
Messages
26
They don't sound unreasonable.

Determine if something is reasonable is hard without very specific knowledge of a lot of things. So I think it's better in this case to simply say that those numbers aren't unreasonable.

Thanks cyberjock. I am reading one of your article, and I am planning to give the "#4 Disable DOS attributes" a try.

By the way, where can I get "gnu-watch" to time my command
 
Last edited:

pirateghost

Unintelligible Geek
Joined
Feb 29, 2012
Messages
4,219
Thanks cyberjock. I am reading one of your article, and I am planning to give the "#4 Disable DOS attributes" a try.

By the way, do you know how to install "gnu-watch" in FreeNAS, cos I want to time duration of a command?
You don't install things in FreeNAS.

But why wouldnt you just use the 'time' command?

Code:
[root@citadel] ~# time sleep 5
0.000u 0.000s 0:05.00 0.0%    0+0k 0+0io 0pf+0w
 

daimi

Dabbler
Joined
Nov 30, 2013
Messages
26
You don't install things in FreeNAS.

But why wouldnt you just use the 'time' command?

Code:
[root@citadel] ~# time sleep 5
0.000u 0.000s 0:05.00 0.0%    0+0k 0+0io 0pf+0w

Sorry for wrong explanation on the use of "gnu-watch" (it is not used for time the command), cos I want to run something like:
  • gnu-watch -n 1 "date && iostat -c 2 -x da0 da1 da2 da3"
And I can only find "gnu-watch" in FreeBSD 9.2, ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/amd64/packages-9.2-release/Latest/gnu-watch.tbz

Please give me some hints on where I can find .tbz file for version 9.3. Thanks in advance
 

Attachments

  • upload_2015-7-21_17-31-16.png
    upload_2015-7-21_17-31-16.png
    1.2 KB · Views: 232

pirateghost

Unintelligible Geek
Joined
Feb 29, 2012
Messages
4,219
Like I said, you should NOT attempt to install stuff directly in FreeNAS....

also, just run iostat with a time parameter

Code:
[root@citadel] ~# iostat 2
       tty             da0              da1              da2             cpu
tin  tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
   0    18 21.81  32  0.67  21.55  32  0.67  21.75  32  0.67   4  1  7  0 87
   0   117  2.00   4  0.01   2.00   4  0.01   3.00   4  0.01   1  0  1  0 99
   0    39  9.57  11  0.11   9.50  12  0.11   9.28  12  0.11   1  0  0  0 98
   0    39  2.00   1  0.00   2.00   1  0.00   2.00   1  0.00   3  0  1  0 96
 
Status
Not open for further replies.
Top