http://bugzilla.novell.com/show_bug.cgi?id=507457
User nfbrown@novell.com added comment
http://bugzilla.novell.com/show_bug.cgi?id=507457#c6
--- Comment #6 from Neil Brown 2009-08-26 15:19:35 MDT ---
The 'sync' option is slow because every change needs to be safe on disk
before the request can complete. This contrasts with async and local
filesystem activity where requests can appear to complete before the
data is safe on disk. So you get must less overlapping of requests with
sync and much lower throughput. This particularly affects the creation
of lots of little files and each file needs to be synced to disk separately.
'sync' is important with NFS because it is possible for the server to die
and the client stay alive. With local filesystem traffic, if the "server"
died,
the "client" (being the same machine) would die to so there is no risk of the
client thinking data is safe when it isn't.
I note that with a 100Mb/sec network link, you won't get better than
10MB/sec, and your local NFS tests do better than that. So a 100Mb/sec
link will be the main cause of slowness rather than NFS issues.
However your measurement of "64MB of small files takes 7 minutes over the
network" does not seem to agree with that. That does seem very slow,
though it depends on how many file that is. 64000 1K file could easily
take that long or longer (as that comes to 6ms per file, and creating a
single file requires multiple seeks).
One way to improve the creation of small files over NFS it so change the
way journalling is done on the filesystem.
In particularly if you use ext3, then mounting the filesystem with
data=journal can improve syncronous NFS a lot, and if you have a separate
device which is not heavily used, then creating an external journal
on that device can improve the situation further (for example, I have set
up machines with a large raid5 array exported via NFS, and a pair of smaller
drives in RAID1 for root and swap. The RAID1 pair is quite idle so I created
another partition and used it as an external journal).
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.