A.15 MySQL 9.2 FAQ: Пул потоков MySQL Enterprise
- A.15.1. Что такое пул потоков и какую проблему он решает?
- A.15.2. Как пул потоков ограничивает и управляет одновременными сессиями и транзакциями для оптимальной производительности и пропускной способности?
- A.15.3. Чем пул потоков отличается от пула соединений на стороне клиента?
- A.15.4. Когда следует использовать пул потоков?
- A.15.5. Существуют ли рекомендуемые конфигурации пула потоков?
|
A.15.1. |
Что такое пул потоков и какую проблему он решает? |
|
Пул потоков MySQL — это плагин сервера MySQL, который расширяет стандартные возможности обработки подключений сервера MySQL, чтобы ограничить количество одновременно выполняемых инструкций/запросов и транзакций, гарантируя, что каждый из них имеет достаточные ресурсы процессора и памяти для выполнения своей задачи. Для MySQL 9.2 плагин пула потоков включён в MySQL Enterprise Edition, коммерческом продукте. В стандартной модели обработки потоков сервера MySQL инструкции выполняются с использованием одного потока на каждое клиентское подключение. По мере подключения большего количества клиентов к серверу и выполнения ими инструкций общая производительность снижается. Плагин пула потоков предоставляет альтернативную модель обработки потоков, призванную снизить нагрузку и повысить производительность. Плагин пула потоков повышает производительность сервера путём эффективного управления потоками выполнения инструкций для большого числа клиентских подключений, особенно на современных многопроцессорных системах. Более подробную информацию можно найти в разделе 7.6.3, «MySQL Enterprise Thread Pool». |
|
|
A.15.2. |
Как пул потоков ограничивает и управляет одновременными сессиями и транзакциями для оптимальной производительности и пропускной способности? |
|
Пул потоков использует подход «разделяй и властвуй» для ограничения и балансировки одновременности. В отличие от стандартной обработки подключений сервера MySQL, пул потоков отделяет подключения и потоки, поэтому нет фиксированной связи между подключениями и потоками, которые выполняют инструкции, полученные от этих подключений. Затем пул потоков управляет клиентскими подключениями в настраиваемых группах потоков, где они имеют приоритет и находятся в очереди в зависимости от характера работы, которую они должны выполнить. Более подробную информацию можно найти в разделе 7.6.3.3, «Работа пула потоков». |
|
|
A.15.3. |
Чем пул потоков отличается от пула соединений на стороне клиента? |
|
Пул соединений MySQL работает на стороне клиента, чтобы убедиться, что MySQL-клиент не постоянно подключается и отключается от сервера MySQL. Он предназначен для кэширования неиспользуемых подключений в MySQL-клиенте для использования другими пользователями по мере необходимости. Это минимизирует нагрузку и затраты на установку и разрыв подключений по мере отправки запросов на сервер MySQL. Пул соединений MySQL не имеет доступа к возможностям обработки запросов или нагрузке сервера MySQL на стороне базы данных. В противоположность этому, пул потоков работает на стороне сервера MySQL и предназначен для управления выполнением входящих одновременных подключений и запросов по мере их получения от клиентских подключений, обращающихся к базе данных MySQL на сервере. В связи с разделением обязанностей, пул соединений MySQL и пул потоков ортогональны и могут использоваться независимо друг от друга. Пул соединений MySQL через MySQL-соединители описан в главе 31, «Соединители и API». |
|
|
A.15.4. |
Когда следует использовать пул потоков? |
|
Есть несколько правил для оптимального использования пула потоков: Переменная MySQL Если вы используете Наконец, если ваша нагрузка состоит в основном из коротких запросов, пул потоков будет полезен. Для получения дополнительной информации см. раздел 7.6.3.4, «Настройка пула потоков». |
|
|
A.15.5. |
Существуют ли рекомендуемые конфигурации пула потоков? |
Пул потоков имеет ряд параметров конфигурации, ориентированных на различные случаи использования, которые влияют на его производительность. Чтобы узнать больше об этом и получить советы по настройке, обратитесь к разделу 7.6.3.4, «Настройка пула потоков». |
© 2025 Oracle
Licensed under the GPLv2 License.