Назад | Перейти на главную страницу

mysql my.cnf для innodb с сервером RAM 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

Перво-наперво: загрузка ЦП> 100% в системе Linux не означает наличие проблемы, только то, что система использует более одного ЦП. 16-ядерная система может иметь максимальную нагрузку 1600%, поэтому 1000% -ная нагрузка на такую ​​систему будет означать, что она достаточно загружена, но определенно не перегружена.

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


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

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

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