Hyperthreading and Prefetch for FreeNAS Performance while R/W

Status
Not open for further replies.

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
Dear FreeNAS Community,

I am new user of freeNAS. With the help of one of my friend I am able to configure a system.

I have a system http://www.supermicro.com.tw/products/chassis/2u/826/sc826e16-r500lp.cfm

The above system contains 12 x 3 TB = 36 TB Storage with 32 GB ECC Ram

I have configured the same in raidz2.

While copying a 100 GB folder with lots of photos, PDF files, and other scanned documents I am getting a speed of only 21.2 MB/sec.

I explored the comments in the link below:

http://forums.freenas.org/index.php?threads/hyper-threading-and-prefetch.1226/

But I don't know where to do these changes.

In the client system or in the server where Freenas is installed. My client system is having windows 7 Professional 64 Bit.

My question is: Do I need to disable Hyper threading in my windows system or in the Freenas Box which is having Intel xeon processor and motherboard?

Any help and advice to get a decent speed will be appreciated.
 

krikboh

Patron
Joined
Sep 21, 2013
Messages
209
What mobo, processor, and NIC are you using?


Sent from my iPhone using Tapatalk
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
I suspect the slow transfer rates you are seeing has everything to do with thousands of small files. Small files take a lot longer to transfer than a few very large files. The limitation is likely only on the source system as that system has to locate each tiny file and any fragments and then transfer that data to the network. The FreeNAS server you have described has a ton of RAM to cache the data it receives and there should be no lag on that end at all.

Since you are likely transferring the files once, I doubt you will save any time at all making modifications to your Win7 OS. In fact I wouldn't touch something that is working normally. To help you realize this, if you transfer a single file that is 100GB in size, what is the throughput?
 

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
Hi,

Yesterday I was trying to copy some large files with a speed of 60 - 65 MB/Sec under the same settings. joeschmuck you may be correct, since the folder has lakhs of files, may be it is taking longer time to copy. I will again check with large file transfer when this present copying is done.

krikboh I am using Intel core i7 2600k processor & DH67Cl motherboard with onbaord Gigabit NIC in my windows client system which is being used to copy files from my freenas server.

&

My Freenas server has Intel Xeon CPU E5 - 2620 v2 @ 2.10 GHz
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
60-65MB/sec isn't bad, it's not great either. I would expect in the 80MB/sec or better however your source system is likely the limitation there too. But if you get transfer rates like that, the problem is the thousands of small files just slowing it down as I explained above. It even irritates me when I have to transfer a lot of small files, I want a faster system and even though I have a SSD in my source, it doesn't seem to make it much faster. When I transfer a lot of small files my throughput is around 14MB/sec and to be honest, I have a very good NAS and Win7 system. So you are not alone.
 

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
Ok! many thanks for the clarifications..I thought if some tweaking could be done to improve the performance..But now I understood, as many files transfer is the problem..I have to wait...Thanks again..joeschmuck
 

bestboy

Contributor
Joined
Jun 8, 2014
Messages
198
If you have to transfer many small files I'd recommend to use FTP instead of CIFS. You can set your FTP client up to use multiple concurrent transfers. Having 10 or so concurrent transfers will increase your overall throughput. You may be able to max out the ~60 MB/s limit of your source drives.
 

solarisguy

Guru
Joined
Apr 4, 2014
Messages
1,125
Bestboy has a very good point. Such use of FTP allows to parallelize file creations (the operation that is slowing you down). However, depending on the size of files and number of cores/threads/etc., a smaller number, e.g. 6-8 could offer the best throughput. Possibly you can play with 10-12 concurrent transfers, too. Start with 4-6 and go upwards. The results heavily depend on your file size/directory mix.

Joeschmuck has asked you to transfer a large file (at least > 64GB, you can join some video files to easily create such a large file). That would give you a better estimate of the network speed.

Disabling hyper-threading might be considered for situations when there is no multithreading. If you go for concurrent transfers with FTP, you definitely want to leave hyper-threading enabled.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
Joeschmuck has asked you to transfer a large file (at least > 64GB, you can join some video files to easily create such a large file). That would give you a better estimate of the network speed.
I goofed, I meant 100MB. 100GB is crazy large. A 100MB file would allow you to test a large file transfer speed, anything up to 500MB would be a sound test.

Also, I wasn't thinking FTP because I flat out forgot about the concurrent transfers. I also was keeping it simple. I figure that if the user only has to transfer small files one time that it's a better use of time just to transfer the files because fiddling with other stuff will take a longer period of time over just transferring the files. Maybe I was thinking too narrow minded.
 

solarisguy

Guru
Joined
Apr 4, 2014
Messages
1,125
Iperf can test that ;-)

The reason, I am recommending more than twice the size of RAM, is that I noticed stable transfer speeds after files are big enough.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
I can agree with that. Caching can give an unreasonable faster transfer rate.
 

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
Now I am copying 102 GB, but this time the files are less in the folder here although the size is big as compared to some 2 lakhs files as of yesterday ..I am getting 108 MB/sec today while transferring 102 GB under same settings as of yesterday!
 

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
The transfer speed kept fluctuating around 106/107/108 MB/sec.
 

Attachments

  • Speed.jpg
    Speed.jpg
    402.5 KB · Views: 255

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
Now that is very good speed! So you should be glad to hear that your system is working very well and nothing to worry about. If you transfer a large file in the opposite direction it typically will be different. Most people have faster writing to FreeNAS than reading from FreeNAS. You can get it equal but you have to have a lot of hard drives, the perfect hardware, etc...

I'm going to ask a completely off topic question here: Are you running a short SMART test once every 24 hours? And do you have the email messages setup correctly? The email can save your life! I am seeing a lot more folks showing up posting questions about an email they got which tells them they have a pending hard drive failure but they don't understand the message. It has saved them. I would expect you to have that setup given the storage size you have which is damn large.
 

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
No I am not running smart test as of yet..I don't know how to configure that.. I don't have email configured also...How to do that? I have to explore all these or you may kindly let me know the steps...thanks...
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,994
lol, the steps are in the users manual and easy to do. It's a two step process, you will end up sending a test email and if that works then you setup the SMART testing. My personal recommendation is to set up a daily Short SMART test on all your drives. This test run in the background of the hard drive and takes approx 2 minutes. This will have very little impact to your system while in use. I think I have mine running every day at 5AM. And you should set up a SMART Long test, this test takes up to a few hours depending on the drive you have, and it's best to schedule this when you know you are typically not using the server. It also runs in the background but performance will suffer some. I schedule my Long test to occur every Monday morning at 6AM because I know I will be at work and not using my server until 2PM at the earliest. It up to you when you want to schedule these events.

Again, it's all in the manual and actually very easy to setup. The email is the hardest, make sure you have a gateway listed in your network setup or the email can never be sent to your email server. If you are slow at this process, it may take you a few hours to figure out. If you have no idea what a gateway is, you will need some help from a person who can look at your computer and figure that out.

And to throw one last thing at you... Did you create a backup of your FreeNAS configuration? If not, do so because you might need it once day. Do that after you have setup the email and smart testing at a minimum. So if your flash drive fails (and they do eventually) you will have an easy recovery if you have that configuration saved.

Hope this helps.
 

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
Thanks a lot for your kind advices joeschmuck...I will certainly explore the smart test and try to configure email as well. I am saving my configuration file.
I will get back to you if anywhere I stuck....Cheers...:)
 

FreeNAS_Lover

Dabbler
Joined
Jun 2, 2014
Messages
23
I will try this option..and let you know..presently i am backing up my files from the server.thanks..
 
Status
Not open for further replies.
Top