29.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/% встроенные и не могут быть отключены при запуске.
Более длинные строки имён инструментов имеют приоритет перед более короткими именами шаблонов, независимо от порядка. Сведения о задании шаблонов для выбора инструментов см. в разделе 29.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 автоматически масштабирует многие параметры, чтобы использовать память только по мере необходимости; см. раздел 29.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 и изучите описания опций или см. раздел 29.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.