2

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.

3
  • what about Windows SFU ?
    – petrus
    Dec 28, 2010 at 10:44
  • I had problems with user authentication Dec 28, 2010 at 12:59
  • OK. maybe it would be worth trying to fix it ?
    – petrus
    Dec 28, 2010 at 14:30

2 Answers 2

3

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.

4
  • 1
    Performance went up marginally, but not enough, I will switch to a virtual linux box instead. Seems I was underestimating the overhead. Dec 28, 2010 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, 2010 at 13:48
  • Windows Services for Unix (SFU)
    – petrus
    Dec 28, 2010 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 Dec 28, 2010 at 15:33
2

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)

1
  • tried the anonuid anongid bit, got rid of the errormessages, but did not improve performance Dec 28, 2010 at 13:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .