LINUX.ORG.RU

Настройка mysql

 ,


0

1

Добрый вечер, настраиваю mysql сервер по статьям и столкнулся с неизвестным, статья: http://www.hostcms.ru/documentation/server/mysql/ (Оптимизация MySQL для InnoDB)

Имеем сейчас:

max_connections = 500
wait_timeout = 30
interactive_timeout = 30
key_buffer_size = 1G
max_allowed_packet = 2M

query_cache_type = ON
query_cache_limit = 10M
query_cache_size = 4G
innodb_file_per_table = 1
table_open_cache = 4096
table_definition_cache = 4096
innodb_open_files = 4096
#innodb_buffer_pool_size = 5G // уменьшал с 20 до 5, все равно превышение в итоге отключил
#innodb_buffer_pool_instances = 4
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 128M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 0
innodb_file_io_threads = 8
innodb_stats_on_metadata = 0

tmp_table_size = 1G
max_heap_table_size = 2G
thread_cache_size = 128
Утверждают: Для сервера с 16Гб устанавливается в диапазоне 10-12G и разделяем его на 4 секции, для сервера с 32Гб устанавливаем значение в диапазоне 20-22G и разделяем его на 8 секций: innodb_buffer_pool_size = 10G innodb_buffer_pool_instances = 4

Сказано - сделано. Открыл htop взглянуть на потребление памяти и цп, и увидел выделение красным в колонке VIRT, т.е. как я понял - явное превышение. Обладаю выделенным сервером с 32Gb ОЗУ. Как так получилось? Имеется какой-то параметр, который умножает выделяемую память на N?

БД: mysql Ver 15.1 Distrib 10.1.31-MariaDB, for Linux (x86_64) using readline 5.1

Основания для настройки использую анализ mysqltuner.pl, прошу гуру направить меня как верно анализировать и настраивать mysql сервер.

P.S. только учусь, скорее всего везде накосячил где только возможно. Нагрузка на mysql снизилась до 10-20% с конфигом выше.



Последнее исправление: AnGel (всего исправлений: 2)

Утверждают

innodb_buffer_pool_size ставь в 50% от всей ОЗУ на сервере. Больше этого mysql не сожрёт.

FluffyPillow
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.