Hi Charles, all !

Charles Jardine wrote:
I am planning to set up a system in which mysql servers access
their data via NFS. [[...]]

If you want to use this for testing or development - fine.

If you want to run performance measurements on this - silly.

If you want to use it for "production" work - change your plans.


[[...]]

I have searched the manuals and found nothing that tells me that
this will not work. All the warnings are either about performance,
or about data sharing.

"work" may mean different things to different people.
I am quite sure that setup will give correct results for some tiny installation tests, but I am also quite sure its performance and its reliability will be limited (see below).

I would *not* use it for production purposes.


Are there other reasons why I should not do as I plan?

Immediately, I know these:

- Database performance can be limited by CPU or disk I/O.
  - If it is disk:
    Each disk access via NFS has the network roundtrip latency added to
    the disk response time, and depending on the number of servers you
    might even run into network bandwidth limits. So I/O performance
    will suffer, and database performance will do the same.
  - If it is CPU, this means you have plenty of cache (RAM), slow CPU,
    and relatively fast disk. In this case, performance *might* remain
    constant, but I would not rely on that.

- Accessing the data via NFS adds complexity and single points of
  failure to your setup.
  If either of these machines (or the network connecting them) is down,
  all your database is down - the NFS setting reduces reliability.

- The database server and the disk machine may fail separately, for
  various reasons, and disk failures may go unnoticed by the database
  software. Recovery after failures may be difficult (or impossible) in
  a NFS setting.

- Several database algorithms rely on ordered writes for structure
  changes and/or logging. I strongly doubt NFS will ensure this write
  order.

- Administrative effort will be higher, because you have to deal with
  several machines for one database and have to do updates synchronized.

- I do not follow NFS versions. I know that earlier ones had issues with
  locking; I cannot tell whether that is still valid.

There may be several others.


IMNSHO, you should have the server and the data it accesses in the same box - either several (smaller, independent) machines with local disks, or one (larger, multi-CPU and lots of RAM).

What is your reason to use NFS for the database files ?


HTH,
Joerg

--
Joerg Bruehe, Senior Production Engineer
MySQL AB, www.mysql.com


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

  • NFS Charles Jardine

Reply via email to