Date: Fri, 20 Jan 2012 11:10:24 +0100 From: Willem Jan Withagen <wjw@digiware.nl> To: fs@freebsd.org Subject: Question about ZFS with log and cache on SSD with GPT Message-ID: <4F193D90.9020703@digiware.nl>
next in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F193D90.9020703>