On Sep 14, 2005, at 6:16 PM, Chris Kantarjiev wrote:

I'd like to spread the disk arm load across multiple drives. At
the moment, we mostly use MyISAM tables, but we are also
experimenting with InnoDB.

What's the 'best practice' for doing this? There's no obvious
configuration that lets me designate one directory for index
and another for data - am I meant to do this with symlinks?
How can I do anything like that with InnoDB, which appears
to put everything in one massive file?

I think broadly you have these three options:

Move and symlink directories. This works with InnoDB if you use file_per_table so it doesn't just use one big file. However, for this to work well you need to know the load across tables.

Use a RAID setup. We moved from single SATA drives to 6 spindle FC- ATA RAID 5 and saw a large improvement. This is useful in that it distributes the load across the spindles.

Separate logs and tables. Particularly with InnoDB, you have a lot of logging going on. We use only InnoDB, so we have the transaction logs plus binary logs which is a decent amount of I/O. These are also easy to move (and you know they are pretty constant load, unlike some tables which might only see sporadic load), so we put them on a separate RAID 5 array using a separate fibre channel port.

Good luck,
Ware

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

Reply via email to