mysql my.cnf для innodb с сервером ОЗУ 128 ГБ
У меня есть сервер с 128 ГБ ОЗУ, но процессор всегда показывает более 100% (иногда>1000%) в верхней команде для процесса mysqld. Вот часть конфигурации для innodb в my.cnf. Посоветуйте, пожалуйста, как мне точно настроить конфигурации. Спасибо
innodb_buffer_pool_size = 60G #global buffer
innodb_additional_mem_pool_size = 4M #global buffer
innodb_status_file #extra reporting
innodb_file_per_table #enable always
innodb_flush_log_at_trx_commit = 0 #2/0 = perf, 1 = ACID
innodb_table_locks = 0 #preserve table locks
innodb_log_buffer_size = 256M #global buffer
innodb_lock_wait_timeout = 60
innodb_thread_concurrency = 16 #recommend 2x core quantity
innodb_commit_concurrency = 16 #recommend 4x num disks
innodb_support_xa = 0 #recommend 0, disable xa to negate extra disk flush
# skip-innodb-doublewrite
#innodb_force_recovery = 3
1 ответ
Прежде всего: использование процессора> 100% в системе Linux не означает, что существует проблема, только то, что система использует более одного процессора. 16-ядерная система может иметь максимальную нагрузку 1600%, поэтому загрузка 1000% в такой системе будет означать, что она достаточно загружена, но определенно не перегружена.
Действительно ли сервер работает плохо, или вы просто обеспокоены тем, что, по-видимому, сильно загружает процессор, но может быть вполне подходящим для выделенного сервера БД?
Тем не менее, наличие большого и большого количества ОЗУ не поможет, если сервер находится под большой загрузкой ЦП; Оперативная память помогает только в кэшировании содержимого и сокращении дискового ввода-вывода (что в большинстве случаев является узким местом), а не в реальной обработке.
Вы должны взглянуть на то, что на самом деле делает ваш сервер, с точки зрения пользовательской нагрузки и фактических запросов, а затем максимально оптимизировать вашу БД (как в таблицах, ключах и индексах) для работы, которая ему необходима; или, если ничего не помогает, добавьте больше ядер ЦП и / или найдите способ распределить нагрузку между несколькими серверами.
Не зная ничего о том, что делает ваш сервер, невозможно сказать вам больше, чем это.