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% в такой системе будет означать, что она достаточно загружена, но определенно не перегружена.

Действительно ли сервер работает плохо, или вы просто обеспокоены тем, что, по-видимому, сильно загружает процессор, но может быть вполне подходящим для выделенного сервера БД?


Тем не менее, наличие большого и большого количества ОЗУ не поможет, если сервер находится под большой загрузкой ЦП; Оперативная память помогает только в кэшировании содержимого и сокращении дискового ввода-вывода (что в большинстве случаев является узким местом), а не в реальной обработке.

Вы должны взглянуть на то, что на самом деле делает ваш сервер, с точки зрения пользовательской нагрузки и фактических запросов, а затем максимально оптимизировать вашу БД (как в таблицах, ключах и индексах) для работы, которая ему необходима; или, если ничего не помогает, добавьте больше ядер ЦП и / или найдите способ распределить нагрузку между несколькими серверами.

Не зная ничего о том, что делает ваш сервер, невозможно сказать вам больше, чем это.

Другие вопросы по тегам