25.3 Настройка Performance Schema при запуске сервера
Для использования MySQL Performance Schema необходимо включить его при запуске сервера, чтобы разрешить сбор событий.
Предполагая, что Performance Schema доступен, он включён по умолчанию. Чтобы явно включить или отключить его, запустите сервер с переменной performance_schema установленной в соответствующее значение. Например, используйте эти строки в вашем файле my.cnf:
[mysqld]
performance_schema=ON
Если сервер не может выделить внутренний буфер во время инициализации Performance Schema, Performance Schema отключает себя и устанавливает performance_schema в значение OFF, и сервер работает без инструментирования.
Performance Schema также позволяет настраивать инструменты и потребителей при запуске сервера.
Для управления инструментом при запуске сервера используйте опцию следующего формата:
--performance-schema-instrument='instrument_name=value'
Здесь instrument_name — это имя инструмента, например, wait/synch/mutex/sql/LOCK_open, а value — одно из следующих значений:
OFF,FALSEили0: Отключить инструментON,TRUEили1: Включить и измерить время работы инструментаCOUNTED: Включить и посчитать (а не измерить время) инструмент
Каждая опция --performance-schema-instrument может указывать только одно имя инструмента, но можно указать несколько экземпляров этой опции для настройки нескольких инструментов. Кроме того, в именах инструментов допускаются шаблоны для настройки инструментов, соответствующих шаблону. Чтобы настроить все инструменты синхронизации условий как включенные и подсчитанные, используйте эту опцию:
--performance-schema-instrument='wait/synch/cond/%=COUNTED'
Чтобы отключить все инструменты, используйте эту опцию:
--performance-schema-instrument='%=OFF'
Исключение: инструменты memory/performance_schema/% встроены и не могут быть отключены при запуске.
Более длинные строки имён инструментов имеют приоритет над более короткими именами шаблонов, независимо от порядка. Сведения о указании шаблонов для выбора инструментов см. в Разделе 25.4.9, «Именование инструментов или потребителей для операций фильтрации».
Неизвестное имя инструмента игнорируется. Возможно, позже установленный плагин может создать инструмент, в этот момент имя будет распознано и настроено.
Для управления потребителем при запуске сервера используйте опцию следующего формата:
--performance-schema-consumer-consumer_name=value
Здесь consumer_name — это имя потребителя, например, events_waits_history, а value — одно из следующих значений:
OFF,FALSEили0: Не собирать события для потребителяON,TRUEили1: Собирать события для потребителя
Например, чтобы включить потребителя events_waits_history, используйте эту опцию:
--performance-schema-consumer-events-waits-history=ON
Допустимые имена потребителей можно найти, изучив таблицу setup_consumers. Шаблоны недопустимы. Имена потребителей в таблице setup_consumers используют подчёркивания, но для потребителей, устанавливаемых при запуске, дефисы и подчёркивания в имени эквивалентны.
Performance Schema включает несколько системных переменных, которые предоставляют информацию о настройке:
mysql> SHOW VARIABLES LIKE 'perf%';
+--------------------------------------------------------+---------+
| Variable_name | Value |
+--------------------------------------------------------+---------+
| performance_schema | ON |
| performance_schema_accounts_size | 100 |
| performance_schema_digests_size | 200 |
| performance_schema_events_stages_history_long_size | 10000 |
| performance_schema_events_stages_history_size | 10 |
| performance_schema_events_statements_history_long_size | 10000 |
| performance_schema_events_statements_history_size | 10 |
| performance_schema_events_waits_history_long_size | 10000 |
| performance_schema_events_waits_history_size | 10 |
| performance_schema_hosts_size | 100 |
| performance_schema_max_cond_classes | 80 |
| performance_schema_max_cond_instances | 1000 |
...
Переменная performance_schema имеет значение ON или OFF, чтобы указать, включен или выключен Performance Schema. Другие переменные указывают размер таблиц (количество строк) или значения выделенной памяти.
При включенном Performance Schema количество экземпляров Performance Schema влияет на объём занимаемой сервером памяти, возможно, в значительной степени. Performance Schema автоматически масштабирует многие параметры, используя память только по мере необходимости; см. Раздел 25.17, «Модель выделения памяти Performance Schema».
Для изменения значения системных переменных Performance Schema установите их при запуске сервера. Например, поместите следующие строки в файл my.cnf, чтобы изменить размеры таблиц истории событий ожидания:
[mysqld]
performance_schema
performance_schema_events_waits_history_size=20
performance_schema_events_waits_history_long_size=15000
Performance Schema автоматически настраивает значения нескольких параметров при запуске сервера, если они не заданы явно. Например, он настраивает параметры, которые управляют размерами таблиц событий ожидания, таким образом. Performance Schema выделяет память поэтапно, масштабируя её использование под реальную нагрузку сервера, вместо выделения всей необходимой памяти во время запуска сервера. Следовательно, многие параметры размера не нужно задавать вообще. Чтобы увидеть, какие параметры автоматически настраиваются или масштабируются, используйте mysqld --verbose --help и изучите описания опций или см. Раздел 25.15, «Системные переменные Performance Schema».
Для каждого параметра с автоматическим размером, который не установлен при запуске сервера, Performance Schema определяет, как установить его значение, основываясь на значении следующих системных значений, которые рассматриваются как “подсказки” о том, как вы настроили свой сервер MySQL:
max_connections
open_files_limit
table_definition_cache
table_open_cache
Чтобы переопределить автоматический размер или масштабирование для данного параметра, установите его в значение, отличное от −1, при запуске. В этом случае Performance Schema присвоит ему указанное значение.
Во время выполнения SHOW VARIABLES отображает фактические значения, которые были установлены параметрами с автоматическим размером. Параметры с автоматическим масштабированием отображаются со значением −1.
Если Performance Schema отключён, его параметры с автоматическим размером и масштабированием остаются установленными в −1, и SHOW VARIABLES отображает −1.
© 2025 Oracle
Licensed under the GPLv2 License.