7.6.3 Пул потоков MySQL Enterprise
Пул потоков MySQL Enterprise — это расширение, включенное в MySQL Enterprise Edition, коммерческий продукт. Чтобы узнать больше о коммерческих продуктах, посетите https://www.mysql.com/products/.
MySQL Enterprise Edition включает пул потоков MySQL Enterprise, реализованный с использованием серверного плагина. По умолчанию модель обработки потоков в MySQL Server выполняет операторы с использованием одного потока на каждое подключение клиента. По мере подключения большего числа клиентов к серверу и выполнения операторов общая производительность снижается. Плагин пула потоков предоставляет альтернативную модель обработки потоков, предназначенную для сокращения накладных расходов и повышения производительности. Плагин реализует пул потоков, который повышает производительность сервера, эффективно управляя потоками выполнения операторов для большого числа подключений клиентов.
Пул потоков решает несколько проблем модели, использующей один поток на подключение:
Большое количество стеков потоков делает кэши процессора практически бесполезными при интенсивной параллельной работе. Пул потоков способствует повторному использованию стеков потоков для минимизации влияния на кэш процессора.
При большом количестве выполняемых параллельно потоков накладные расходы на контекстную смену высоки. Это также создаёт проблему для планировщика операционной системы. Пул потоков контролирует количество активных потоков, чтобы поддерживать уровень параллелизма в MySQL сервере на управляемом уровне, соответствующем серверу, на котором MySQL выполняется.
Большое количество параллельно выполняемых транзакций увеличивает конкуренцию за ресурсы. В
InnoDBэто увеличивает время удержания центральных мьютексов. Пул потоков контролирует, когда начинаются транзакции, чтобы не допускать одновременного выполнения слишком большого их количества.
Дополнительные ресурсы
Раздел А.15, «Вопросы и ответы к MySQL 8.4: Пул потоков MySQL Enterprise»
© 2025 Oracle
Licensed under the GPLv2 License.