Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

The setup:

We run an instance of cygwin nfsd on a Windows 2008 Server (Xeon 3,2 GHz). There are several Sun Solaris and SunOS machines accessing the shares.

This is the exports file:

/disk3    (rw,all_squash)
/disk2    (rw,all_squash)  

Those paths are soft linked to the relevant cygdrive/d/path/to/dir paths. Some of the folders contain up to 10k files.

The Problem:

ls -la

on the mounted folder on the sun boxes takes 2 - 3 minutes and the general read performance is really bad.

cat filename

displays the file in slow bursts and this hurts performance on tasks that access those shared files heavily.

Processor load is not the issue, the nfs server idles most of the time, the cygwin tasks never get over 1% load.

share|improve this question
    
what about Windows SFU ? –  petrus Dec 28 '10 at 10:44
    
I had problems with user authentication –  Weltenwanderer Dec 28 '10 at 12:59
    
OK. maybe it would be worth trying to fix it ? –  petrus Dec 28 '10 at 14:30

2 Answers 2

up vote 2 down vote accepted

There's been some work recently to speed up directory access, which will be in Cygwin 1.7.8. That's expected to be released some time in January, but you could try the latest snapshots at http://www.cygwin.com/snapshots.

Also, you might want to avoid symlinks in the path, as they cause additional overhead. You could mount the directories in question directly in /etc/fstab, like so:

c:/path/to/dir /disk3 ntfs binary 0 0

You could also try switching off the mapping of POSIX permissions to Windows ACLs (which means that permissions will be faked):

c:/path/to/dir /disk3 ntfs binary,noacl 0 0

See http://cygwin.com/cygwin-ug-net/using.html#mount-table for more on this.

In the end, though, Cygwin/Windows just doesn't make a terribly good server system.

share|improve this answer
    
Performance went up marginally, but not enough, I will switch to a virtual linux box instead. Seems I was underestimating the overhead. –  Weltenwanderer Dec 28 '10 at 13:02
    
Would be good to hear how that compares. 10000 files is a lot ... . Btw, doesn't Windows Server have a native NFS server? –  ak2 Dec 28 '10 at 13:48
    
Windows Services for Unix (SFU) –  petrus Dec 28 '10 at 14:30
    
ls -la went down from about 2 minutes to about 1:40. I tried the SFU first, see my comment on the original post –  Weltenwanderer Dec 28 '10 at 15:33

That's quite normal, you are running a user mode NFS server on top of a Unix layer on top of another operating system.

Using a GNU/Linux Server would be much better.

Take a look in the event viewer to see if there are any permissions issues and in the case set the permissions of the mount accordingly, like:

/disk3 (rw,all_squash,anonuid=xxx,anongid=yyy)

share|improve this answer
    
tried the anonuid anongid bit, got rid of the errormessages, but did not improve performance –  Weltenwanderer Dec 28 '10 at 13:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.