Иногда для завершения работы MySQL сервера с таблицами в формате InnoDB требуется слишком много времени,
из-за необходимости сброса всех буферов. Если процесс завершить принудительно, то данные не потеряются,
но при следующем запуске будет инициирован значительно более долгий процесс восстановления из лога транзакций.Один из способов минимизировать время завершения сервера, за какое-то время перед выключением MySQL
включить функцию предварительного сброса буферов:mysql> set global innodb_max_dirty_pages_pct = 0;
Далее периодически смотрим объем не сброшенных буферов:
$ mysqladmin ext -i10 | grep dirty
| Innodb_buffer_pool_pages_dirty | 1823484 |
...
| Innodb_buffer_pool_pages_dirty | 1821293 |
...
| Innodb_buffer_pool_pages_dirty | 1818938 |Дожидаемся когда значение Innodb_buffer_pool_pages_dirty приблизится к нулю и выполняем процесс завершения работы,
сведя время простоя сервера к минимуму.
URL: http://www.mysqlperformanceblog.com/2009/04/15/how-to-decrea.../
Обсуждается: http://www.opennet.me/tips/info/2035.shtml
любопытно ... вместо завершения работы и ожидания сброса буферов предлагается вручную толкать мускул на сброс буферов, так же ждать пока он доделает эту операцию, а потом завершать работу демона.и в чем логика?
Если спешки с перезагрузкой не намечалось, просто сделаешь ее тогда, когда система будет к этому готова.
Логика в сохранении работы базы лишние минуты, зачем сбрасывать буферы когда сервер отключен, когда это можно сделать не прерывая работу клиентов ?
Чё паритьсяecho b > /proc/sysrq-trigger - моментальный сброс кэша.
[tiger@notebook]~%echo b > /proc/sysrq-trigger
/proc/sysrq-trigger: No such file or directory.so sad!11 а гдеже моментальный сброс?!:-(
по теме: на лоре возможно подобный йумар кого-либо мог развеселить, предлагай уж нормальные решения, да?
Встряхнуть надо было...