SOLVED Browsing directories slow

Status
Not open for further replies.

mikesm

Dabbler
Joined
Mar 20, 2013
Messages
36
Mike, did read through the rest of this thread and try any of the other things people mentioned? Like atime and/or DOS attributes.

I haven't had time to play around with this stuff since I posted it awhile back. It seems like it only happens with certain configurations.

There's also the Performance section of the forums that has some benchmarks and testing that people have done that might give some insight.

Protosd, I have disabled atime on the volume, support DOS attributes off, as well setting AIO to 4096, making SMB2 mandatory, etc... I think I have pretty much tried everything in the thread. But I may have missed something. streaming performance is great though, its just the browsing that's a problem.

I had originally posted this in the performance section which after using your settings in post #7, things got much better. I failed to note that the initial browse of a directory works pretty well, but later it takes a long time. It started out as all browses being slow, but now the first browse seems to be fine, but if I open a second window on my desktop and browse to a second directory, or even the first one again, if it has a lot of files, it will be slow. It's quite odd.

Any things I should be specifically looking for? Its clearly not the underlying filesystem that has the issue.

Thanks again!
mike
.

- - - Updated - - -

Mikesm,

Try disabling the firewall software on your desktop and see if the delay goes away...

I will try it, but I am not sure why this should be an issue. I used to have these files stored on a windows 2008 server with hardware raid, and never had an issue with browsing performance.
 

sig

Dabbler
Joined
Sep 20, 2012
Messages
10
My "fix" to the issue is a cron job that runs every 30 minutes to cache all the necessary metadata and keeps it there as frequently used.

How would I do this?

I tried all the fixes in this thread, but it didn't really help much. Later though, I lost access to the share from Windows. Samba on FreeNAS was using 100% of CPU. After I removed all CIFS parameters I got the share back up.

Browsing the share while I play music (from the share) sometimes makes the music skip. I didn't expect samba to be this slow.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
How would I do this?

I tried all the fixes in this thread, but it didn't really help much. Later though, I lost access to the share from Windows. Samba on FreeNAS was using 100% of CPU. After I removed all CIFS parameters I got the share back up.

Look at post 55 in this thread.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
ls -aR? No other parameters necessary, like directory?

Exactly. Just "ls -aR" should be fine. Right now my FreeNAS server is offline(hardware upgrades) or I'd verify it for myself. :P
 

mikesm

Dabbler
Joined
Mar 20, 2013
Messages
36
Mikesm,

Try disabling the firewall software on your desktop and see if the delay goes away...

Well, I need to do more scientific testing, but with the Norton 360 firewall on my windows 7 X64 desktop off, browsing performance in large directories seems to have significantly improved! Can you explain to me why this is the case? It had no impact when browsing from a windows server.

I can easily add exceptions, but I like to normally keep the firewall on. Do it have to be completely off, or is there a way to customize it so it doesn't interfere with browsing performance?

thanks!
Mike
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Well, I need to do more scientific testing, but with the Norton 360 firewall on my windows 7 X64 desktop off, browsing performance in large directories seems to have significantly improved! Can you explain to me why this is the case? It had no impact when browsing from a windows server.

I can easily add exceptions, but I like to normally keep the firewall on. Do it have to be completely off, or is there a way to customize it so it doesn't interfere with browsing performance?

thanks!
Mike

ROFLMFAO. Mike, you are awesome. It is nice to see that the issue isn't just with their business class software.

Unfortunately, I have no clue why Norton sucks with FreeNAS shares, but it does. I use Symantec Endpoint Protection myself, and if the "Network Threat Protection" is enabled my directory listing performance tanks and I can't transfer faster than about 25MB/sec. Disable it (even during the middle of a large transfer) and it'll instantly jump to 110MB/sec+. Their forums have a lot of people complaining about this issue and it seems to be largely ignored by Symantec saying its a configuration issue. I'm not sure how true this is, but my Firewall settings are the defaults(which makes me thing Symantec is doing something stupid). Unfortunately, I haven't experimented too much with the configuration to see if I could fix it, but I disabled mine and use the Windows Firewall. I know, not the smartest choice in the world, but it does work.

I plan to be on Linux in a few weeks anyway, so antivirus will be a thing of the past for me soon.
 

nccsa186

Cadet
Joined
Feb 22, 2013
Messages
9
I recently read a recommendation, for Samba, to turn off atime for directories with a very large number of files.

Thanks for the atime tip PaleoN. When browsing a directory with several thousand files on Win7 via cifs it was taking several minutes, and a zpool iostat tank 2 showed megabytes of data in the write bandwidth column, like so:
tank 1.57T 1.15T 155 310 842K 2.15M
tank 1.57T 1.15T 164 0 864K 0
tank 1.57T 1.15T 138 337 708K 2.34M

After turning off atime, I got:
tank 1.57T 1.15T 120 0 486K 0
tank 1.57T 1.15T 121 0 488K 0
tank 1.57T 1.15T 123 0 502K 0

Now if I can just get that read bandwidth up I'll be a happy camper. Directory is still loading too slow.
Yes, I've added all of Proto's recommendations, both under cifs auxiliary parameters and under tunables. Windows services are pared down to the bare minimum (in fact, I'm using hiren's mini xp for testing)
BTW I am running 8.3.1 release version on amd 64bit w 8 gb of memory and brand new WD Red 2TB hard drives that are less than half full. So it's not a sequential write issue, and my hardware is pretty robust I think.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
One thing I've found VERY interesting, is that Linux workstations don't have these slow directory issues where my Windows workstations do(with very large directories only).

Linux workstations also seem to transfer data far faster than Windows machines even if the limitation isn't the hard drive.
 

nccsa186

Cadet
Joined
Feb 22, 2013
Messages
9
Now if I can just get that read bandwidth up I'll be a happy camper. Directory is still loading too slow.
Yes, I've added all of Proto's recommendations, both under cifs auxiliary parameters and under tunables. Windows services are pared down to the bare minimum (in fact, I'm using hiren's mini xp for testing)
BTW I am running 8.3.1 release version on amd 64bit w 8 gb of memory and brand new WD Red 2TB hard drives that are less than half full. So it's not a sequential write issue, and my hardware is pretty robust I think.

With the following changes I saw read bandwidth go up to 2M:
dos char set to CP-850 (in cifs properties)
dos attributes to off
enable unix extensions.

That gave me:
tank 1.57T 1.15T 293 0 1.30M 0
tank 1.57T 1.15T 375 0 1.65M 0
tank 1.57T 1.15T 194 0 960K 0
tank 1.57T 1.15T 299 0 1.21M 0
tank 1.57T 1.15T 701 0 2.82M 0
tank 1.57T 1.15T 340 0 1.38M 0

HUGE improvement. It's almost the same values I get with a dir listing (time ls -l -R /mnt/tank/* > /dev/null), namely:
tank 1.57T 1.15T 688 0 4.95M 0
tank 1.57T 1.15T 673 0 4.78M 0
tank 1.57T 1.15T 354 0 2.28M 0

File transfers still look like:
tank 1.57T 1.15T 632 0 78.4M 0
tank 1.57T 1.15T 700 0 86.9M 0

I wish I could see those when browsing directories :(
 

ProtoSD

MVP
Joined
Jul 1, 2011
Messages
3,348
It seems odd that setting the character set to CP850 should make any difference at all. Just for others that may come across you post here's what Wikipedia says:

It is the code page commonly used by the version of MS-DOS underlying Windows ME. It is also sometimes used on English DOS systems, although code page 437 is generally the default on those.... Code page 850 differs from code page 437 in that many of the box drawing characters, Greek letters, and various symbols were replaced with additional Latin letters with diacritics, thus greatly improving support for Western European languages (all characters from ISO 8859-1 are included).
 

Bram Van Loy

Cadet
Joined
Aug 8, 2013
Messages
4
Why can't I read the helpfull info that Proto has posted?

Forum says: "This post has been redacted."
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Not sure. That post is over a year old and he's left the forums...
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
Nobody had a silver bullet for the slow directories issue. More than likely the problem is caused by different problems with different users. I found that using switching from Win7 to Linux Mint 14 and 15 got rid of all slow browsing experiences I had.

Keep in mind that while I switched OSes, I didn't use the same Antivirus software, same firewall software, CIFS is Samba in Linux, etc. So the only factually accurate information I can say about my situation is that with my Windows 7 "setup" i have latency that goes away with the same hardware but on Linux Mint 14/15.

Not too useful, and most people won't switch OSes just to avoid the latency.
 

Bram Van Loy

Cadet
Joined
Aug 8, 2013
Messages
4
Nobody had a silver bullet for the slow directories issue. More than likely the problem is caused by different problems with different users. I found that using switching from Win7 to Linux Mint 14 and 15 got rid of all slow browsing experiences I had.

Keep in mind that while I switched OSes, I didn't use the same Antivirus software, same firewall software, CIFS is Samba in Linux, etc. So the only factually accurate information I can say about my situation is that with my Windows 7 "setup" i have latency that goes away with the same hardware but on Linux Mint 14/15.

Not too useful, and most people won't switch OSes just to avoid the latency.

Is the issue fixed in v9 (latest release)? Because I'm also experiencing the same issue with this one.
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I haven't heard anyone complain about the problem in v9. But that doesn't mean its "fixed". I'm convinced that the problem isn't on FreeNAS' side since I can use Linux without the problem, but I go to Windows and it appears. I tend to think its actually an issue that is occurring on the client and not the server.
 

Bram Van Loy

Cadet
Joined
Aug 8, 2013
Messages
4
I haven't heard anyone complain about the problem in v9. But that doesn't mean its "fixed". I'm convinced that the problem isn't on FreeNAS' side since I can use Linux without the problem, but I go to Windows and it appears. I tend to think its actually an issue that is occurring on the client and not the server.
I think I'm going to check that if i got time for it.
Thanks.
 

mka

Contributor
Joined
Sep 26, 2013
Messages
107
EDIT #3: I put everything back to the defaults for now. I've got an open ticket with iX since this hits both the system I bought from them and the one I built in-house. Until it gets worked out I've got a workaround. I've setup a cron job for every 30 minutes that runs "ls -aR" on the root of the pool to force all the metadata into the ARC. The first run after a startup takes about 25 minutes for a few hundred-thousand files, the others only take about 6 seconds and are just there to keep the data in ARC cached as MFU.
Interesting. I did stumble at the same problem. Did you experiment with the time frame of the cron job or found more elegant ways to keep directory information in ARC persistently? Or is maybe an L2ARC SSD more persistent in term how long it remembers whats important?

Thanks
 

jasonlitka

Dabbler
Joined
Aug 30, 2012
Messages
25
Interesting. I did stumble at the same problem. Did you experiment with the time frame of the cron job or found more elegant ways to keep directory information in ARC persistently? Or is maybe an L2ARC SSD more persistent in term how long it remembers whats important?

Thanks


I've actually got it running every 10 minutes but it doesn't reliably make a difference. From time to time I'll hit a directory where the performance is terrible, sometimes forcing me to go out of the folder and come back in before it will finish loading.

I'm about to have my Support Manager roll out the registry change in the link below to see if that makes a difference. It's for an old version of Windows but I'm running out of ideas here.

http://support.microsoft.com/kb/177266
 
Status
Not open for further replies.
Top