12 января 2015 г., 0:52 пользователь Vyacheslav Biruk <[email protected]>
написал:

> On Mon, Jan 12, 2015 at 12:12:37AM +0200, Vladislav V. Prodan wrote:
> >    12 января 2015 г., 0:06 пользователь Vyacheslav Biruk <[1]
> [email protected]> написал:
> >
> >      Здравствуйте,
> >      планируя переводить сервер на ZFS я видел, что есть проблемы с
> mysql,
> >      сразу приводилось как нада тюнать, но что будут ТАКИЕ проблемы я не
> >      подозревал :(
>
> >    2) Какой результат выполнения [2]mysqltuner.pl после нескольких
> часов работы?
> на сервере на zfs все сразу стает клином, поэтому перенес пока базы на ufs
>
>
> -------- Storage Engine Statistics
> -------------------------------------------
> [--] Status: +CSV +InnoDB +MRG_MYISAM
> [--] Data in MEMORY tables: 0B (Tables: 17)
> [--] Data in MyISAM tables: 2G (Tables: 494)
> [--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
> [--] Data in InnoDB tables: 239M (Tables: 801)
> [!!] Total fragmented tables: 53
>
> -------- Performance Metrics
> -------------------------------------------------
> [--] Up for: 6d 11h 50m 41s (1M q [2.433 qps], 95K conn, TX: 5B, RX: 187M)
> [--] Reads / Writes: 71% / 29%
> [--] Total buffers: 352.0M global + 2.6M per thread (1024 max threads)
> [OK] Maximum possible memory usage: 3.0G (37% of installed RAM)
> [OK] Slow queries: 0% (241/1M)
> [OK] Highest usage of available connections: 7% (73/1024)
> [OK] Key buffer size / total MyISAM indexes: 128.0M/907.1M
> [OK] Key buffer hit rate: 100.0% (657M cached / 138K reads)
> [OK] Query cache efficiency: 81.7% (723K cached / 886K selects)
> [OK] Query cache prunes per day: 0
> [OK] Sorts requiring temporary tables: 0% (0 temp sorts / 57K sorts)
> [OK] Temporary tables created on disk: 18% (12K on disk / 70K total)
> [OK] Thread cache hit rate: 99% (398 created / 95K connections)
> [!!] Table cache hit rate: 0% (56 open / 7K opened)
> [OK] Open file limit used: 0% (82/233K)
> [OK] Table locks acquired immediately: 99% (233K immediate / 233K locks)
> [!!] InnoDB  buffer pool / data size: 128.0M/239.2M
> [OK] InnoDB log waits: 0
> -------- Recommendations
> -----------------------------------------------------
> General recommendations:
>     Run OPTIMIZE TABLE to defragment tables for better performance
>     Enable the slow query log to troubleshoot bad queries
>     Increase table_cache gradually to avoid file descriptor limits
>     Read this before increasing table_cache over 64: http://bit.ly/1mi7c4C
> Variables to adjust:
>     table_cache (> 256)
>     innodb_buffer_pool_size (>= 239M)
>


Еще покажите zfs-stats -a

Поднимаем Key buffer size до размеров индексов или чуть больше
innodb_buffer_pool_size (>= 239M)
Число коннектов понижаем до 150-180
Размер query_cache понижаем на 15%

И вдумчиво читаем рекомендации по тюнингу ZFS для Mysql, в частности
небольшое HOWTO:

zfs create -o atime=off tank/mysql
zfs set mountpoint=/var/db/mysql tank/mysql
zfs create -o recordsize=16k tank/mysql/ibdata
zfs create -o recordsize=128k tank/mysql/iblogs
zfs set primarycache=metadata tank/mysql/ibdata
ln -s /var/db/mysql /mysql

--> my.cnf
innodb_flush_method = O_DIRECT
skip-innodb_doublewrite
innodb_data_home_dir=/var/db/mysql/ibdata
innodb_log_group_home_dir=/var/db/mysql/iblogs
innodb_data_file_path=ibdata1:10M:autoextend
<--

--> /boot/loader.conf
vfs.zfs.prefetch_disable=1

Эти параметры/команды выставлять/выполнять до старта mysql сервера и до
заливки баз.





-- 
 Vladislav V. Prodan
 System & Network Administrator
 support.od.ua

Ответить