Spec-Zone.ru › MySQL 9.2

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.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/performance-schema-startup-configuration.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API