ctl_cyrusdb -r performance over NFS
John Alton Tamplin
jtampli at sph.emory.edu
Wed Mar 26 18:47:13 EST 2003
Andrew McNamara wrote:
>>You probably don't want to be running cyrus on an NFS partition.
>>
>>
>
>The only other option would be a SAN, and people here trust them even
>less. BTW, they've successfully been running a large, heavily used,
>Oracle instance for several years now over NFS to a Netapp with several
>terabytes of storage, which surprised me.
>
>We're in the process of doing some agressive testing on the resulting mail
>system to find out if it corrupts messages under load, etc.
>
>
A SAN is just a different transport mechanism between the host and the
drives -- the protocol is the same old SCSI that has been around for
years. That said, there is less interoperability than one would like at
this point.
The basic problem with NFS is that either you violate standard Unix
filesystem semantics or you have pitiful performance (by disabling
client-side caching). Add to that the idea that locking was an
after-thought (the design goal of a stateless filesystem doesn't exactly
fit with maintaining locks) and it is really a mess.
As long as you only have one machine writing to the data, you don't have
to worry so much about broken filesystem semantics (which is why your
Oracle instance works), but you still have lousy performance. Locking
in particular is hundreds of times more painful on an NFS filesystem
than a local one because it requires a network round-trip, XDR, etc.
Theoretically, if you only have one writer you could keep the locks in
the client and avoid this performance penalty, but I am not aware of any
such implementation. Presumably you could hack the code to maintain its
own locks in a shared memory segment, but it would be a lot of work and
only useful for your particular situation.
--
John A. Tamplin Unix System Administrator
Emory University, School of Public Health +1 404/727-9931
More information about the Info-cyrus
mailing list