Question about ZFS with log and cache on SSD with GPT
Willem Jan Withagen
wjw at digiware.nl
Fri Jan 20 10:10:29 UTC 2012
Hi,
I need to run this too big MySQL database on a too small development
server, so I need to tweak what I have there....
CPU (4 core HT XEON at 3Ghz) is more than powerful enough since the query
rate is low, but the amount of data is huge. (50Gb)
Memory (16G) could be better, but all slots are full. The server is not
really swapping.
Now my question is more about the SSD configuration.
(BTW adding 1 SSD got the insert rate up from 100/sec to > 1000/sec,
once the cache was loaded.)
The database is on a mirror of 2 1T disks:
ada0: <ST1000NM0011 SN02> ATA-8 SATA 3.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
and there are 2 SSDs:
ada2: <Corsair CSSD-F40GB2 2.0> ATA-8 SATA 2.x device
ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada2: Command Queueing enabled
What I've currently done is partition all disks (also the SSDs) with GPT
like below:
batman# zpool iostat -v
capacity operations bandwidth
pool alloc free read write read write
------------- ----- ----- ----- ----- ----- -----
zfsboot 50.0G 49.5G 1 13 46.0K 164K
mirror 50.0G 49.5G 1 13 46.0K 164K
gpt/boot4 - - 0 5 23.0K 164K
gpt/boot6 - - 0 5 22.9K 164K
------------- ----- ----- ----- ----- ----- -----
zfsdata 59.4G 765G 12 62 250K 1.30M
mirror 59.4G 765G 12 62 250K 1.30M
gpt/data4 - - 5 15 127K 1.30M
gpt/data6 - - 5 15 127K 1.30M
gpt/log2 11M 1005M 0 22 12 653K
gpt/log3 11.1M 1005M 0 22 12 652K
cache - - - - - -
gpt/cache2 9.99G 26.3G 27 53 1.20M 5.30M
gpt/cache3 9.85G 26.4G 28 54 1.24M 5.23M
------------- ----- ----- ----- ----- ----- -----
disks 4 and 6 are naming remains of pre ahci times and are ada0 and ada1.
So the hardisks have the "std" zfs setup: a boot-pool and a data-pool.
The SSD's if partitioned and assigned to zfsdata with:
gpart create -s GPT ada2
gpart create -s GPT ada3
gpart add -t freebsd-zfs -l log2 -s 1G ada2
gpart add -t freebsd-zfs -l log3 -s 1G ada3
gpart add -t freebsd-zfs -l cache2 ada2
gpart add -t freebsd-zfs -l cache3 ada3
zpool add zfsdata log /dev/gpt/log*
zpool add zfsdata cache /dev/gpt/cache*
Now the question would be are the GPT partitions correctly aligned to
give optimal performance?
The harddisks are still std 512byte sectors, so that would be alright?
The SSD's I have my doubts.....
Good thing is that v28 allow you to toy with log and cache without
loosing data. So I could redo the recreation of cache and log relatively
easy.
I'd rather not redo the DB build since that takes a few days. :(
But before loading the DB, I did use some of the tuning suggestions like
using different recordsize for db-logs and innodb files.
Anybody suggestions and/or experience with this?
Thanx,
--WjW
More information about the freebsd-fs
mailing list