Spec-Zone .ru
спецификации, руководства, описания, API
|
Функция пула потоков включает эти компоненты:
Сменный объектный файл библиотеки содержит плагин для кода пула потоков и плагины
для нескольких INFORMATION_SCHEMA
таблицы.
Для подробного описания того, как пул потоков работает, см. Раздел 8.11.6.2, "Работа Пула потоков".
INFORMATION_SCHEMA
таблицы называют TP_THREAD_STATE
, TP_THREAD_GROUP_STATE
, и TP_THREAD_GROUP_STATS
. Эти таблицы предоставляют информацию о работе
пула потоков. Для получения дополнительной информации см. Раздел
20.31, "Пул потоков INFORMATION_SCHEMA
Таблицы".
Несколько системных переменных связываются с пулом потоков. thread_handling
у системной переменной есть значение loaded-dynamically
когда сервер успешно загружает плагин пула потоков.
Другие связанные переменные реализуются плагином пула потоков; они не доступны, если это не включается:
thread_pool_algorithm
: Алгоритм параллелизма, чтобы
использовать для того, чтобы запланировать.
thread_pool_high_priority_connection
: Как запланировать
выполнение оператора для сеанса.
thread_pool_prio_kickup_timer
: Сколько времени прежде, чем
пул потоков перемещает выполнение ожидания оператора от низкоприоритетной очереди
высокоприоритетной очереди.
thread_pool_max_unused_threads
: Сколько сон распараллеливает,
чтобы разрешить.
thread_pool_size
: Число групп потока в пуле потоков. Это -
самый важный параметр, управляющий производительностью пула потоков.
thread_pool_stall_limit
: Время перед выполняющимся
оператором, как полагают, останавливается.
Если какая-либо переменная, реализованная плагином, устанавливается в недопустимое значение при запуске, сменные сбои инициализации и плагин не загружается.
Для получения информации об устанавливании параметров пула потоков см. Раздел 8.11.6.3, "Настройка Пула потоков".
Схема Производительности представляет информацию о пуле потоков и может использоваться, чтобы исследовать операционную производительность. Для получения дополнительной информации см. Главу 21, MySQL Performance Schema.
Чтобы быть применимым сервером, объектный файл библиотеки пула потоков должен быть расположен в каталоге плагина
MySQL (каталог, названный plugin_dir
системная переменная). Чтобы включить возможности пула потоков,
загрузите плагины, которые будут использоваться, запуская сервер с --plugin-load
опция. Например, если Вы называете только сменный объектный
файл, сервер загружает все плагины, которые это содержит (то есть, плагин пула потоков и весь INFORMATION_SCHEMA
таблицы). Чтобы сделать это, вставьте эти строки Ваш my.cnf
файл:
[mysqld]plugin-load=thread_pool.so
Если у объектных файлов есть суффикс, отличающийся от .so
на Вашей системе
замените корректным суффиксом (например, .dll
на Windows).
В случае необходимости установите значение plugin_dir
системная переменная, чтобы сказать серверу расположение сменного
каталога.
При желании можно загрузить отдельные плагины из файла библиотеки. Загрузить плагин пула потоков, но не INFORMATION_SCHEMA
таблицы, используйте опцию как это:
[mysqld]plugin-load=thread_pool=thread_pool.so
Загрузить плагин пула потоков и только TP_THREAD_STATE
INFORMATION_SCHEMA
таблица,
используйте опцию как это:
[mysqld]plugin-load=thread_pool=thread_pool.so;TP_THREAD_STATE=thread_pool.so
Чтобы проверить сменную установку, исследуйте INFORMATION_SCHEMA.PLUGINS
таблица или использование SHOW PLUGINS
оператор. См. Раздел
5.1.8.2, "Получая информацию о Плагине Сервера".
Если сервер загружает плагин потока успешно, это устанавливает thread_handling
системная переменная к dynamically-loaded
. Если плагин не в состоянии загрузиться,
сервер пишет сообщение в журнал ошибок.