I’m beginning to get annoyed about all of the hidden/system files and directories that have begun to litter through my NFS server. In particular, there are two.
The first is the .DS_Store files. These come from OS X Finder and are written every time a directory is accessed. I find them all over my NFS directories on my NAS. Apple has a KB note about how to turn these off over network connections. You can actually go one step further and disable the file creation globally.
defaults write /Library/Preferences/com.apple.desktopservices DSDontWriteNetworkStores true
This will write the plist for the system wide preferences.
I’ve also seen a post that this should also work on USB or local drives with the key
DSDontWriteLocalStores. I haven’t tried any of this though — just a warning.
The other directories that litter my NAS are the @eaDir directories. These are created on my Synology DS212 NAS. There is a post that details how to prevent the creation of these directories. Basically, these are created by a bunch of indexing daemons.
To find all of the files on the command line you can use:
find . -name .DS_Store -type f to search down from the current directory and optionally remove it with the pipe
| xargs rm -rf
find . -name @eadir -type d
I’m just going to put this here as some performance numbers that I’ve collected for the DS212 that I have running.
The NAS is connected via a CAT6 cable to a Netgear GS105 5-port gigabit switch. I also have this connected to a Mac Mini via a CAT6 cable. The switch is also connected to a wifi access point and the gateway/modem. With this, I should be able to route traffic between the NAS and the Mac Mini at gigabit speeds allowing me to stream audio and more importantly HD video. These numbers are over nfs directory mounts.
I’ve tested this using three different read and write operations (6 total, averaged over 20 iterations).
- Copy an entire MP3 album to the NAS – total of 98,140KB
- Copy an MP4 Video to the NAS – 679,692KB
- Dump 1GB of data to the NAS from /dev/zero (no disk access on the source side) – 1,048,576KB
- Copy an entire MP3 album from the NAS – total of 98,140KB
- Copy an MP4 video from the NAS – 679,692KB
- Read 1GB of data from the NAS to /dev/null (no disk access on the destination side) – 1,048,576KB
For dumping the 1GB over the wired network to the NAS, I’ve been able to get an average rate of about 27MB/s writing to the NAS. On the read side, I can get over 80MB/s read from the NAS. Enough to stream HD video. Of course, as the filesizes go down, the rate also drops off. For the transfer of the video it was more along the lines of under 60MB per second, and around 50MB/s for the audio files. Also, to note, I have my NAS setup for RAID1. For the wifi accesses, it’s slower of course. It peaks out at almost 7MB/s reading and about 5.5MB/s writing. That’s getting me almost 49Mb/s over the the wifi link.
The read is pretty close to what Synology is advertising (DS212j). They are saying that the DS212j can get 92MB/s read and about 50MB/s on the write. I’m not getting close to 50MB/s on the write. There may be some thing to it, or the protocol that they are using for their tests, which is Windows upload/download – probably SMB. At least as far as writes are concerned, the writes using AFP over NFS are faster, so I would expect that it could be closer to the numbers that they are giving.
One thing that I did notice is that I’m getting better throughput over the wifi link with my NFS buffers increased to 32K on both the read and the write side. My NFS mount options look like
resvport,atime,rsize=32768,wsize=32768. The resvport is so that OSX will connect to the standard NFS ports. You can also add the
insecure option to the exports file to allow it to accept connections from higher ports. It’s not really insecure, but that’s what the option implies.
network performance numbers