Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL Thread Pool является коммерческим расширением. Чтобы узнать больше о коммерческих продуктах (MySQL Enterprise Edition), см. http://www.mysql.com/products/.
С MySQL 5.6.10 коммерческие дистрибутивы MySQL 5.6 включают MySQL Thread Pool, реализованное использование плагина сервера. Модель обработки потока значения по умолчанию в MySQL Server выполняет операторы, используя один поток на клиентское соединение. Поскольку больше клиентов соединяется с сервером и выполняет операторы, общая производительность ухудшается. Плагин пула потоков обеспечивает альтернативную обрабатывающую поток модель, разработанную, чтобы уменьшить издержки и улучшить производительность. Плагин реализует пул потоков, который увеличивает производительность сервера, эффективно управляя потоками выполнения оператора для больших количеств клиентских соединений.
Пул потоков рассматривает несколько проблем одного потока модель для каждого подключения:
Слишком много стеков потока делают кэши ЦП почти бесполезными в очень параллельных рабочих нагрузках выполнения. Пул потоков способствует повторному использованию стека потока, чтобы минимизировать место кэша ЦП.
Со слишком многими потоками, выполняющимися параллельно, издержки контекстного переключения высоки. Это также представляет сложную задачу планировщику операционной системы. Пул потоков управляет числом активных потоков, чтобы сохранить параллелизм в пределах сервера MySQL на уровне, который это может обработать, и это является подходящим для узла сервера, на котором выполняется MySQL.
Слишком много транзакций, выполняющихся в параллельной конкуренции ресурса
увеличений. В InnoDB
, это
увеличивает время, проведенное, содержа центральные взаимные исключения. Пул потоков управляет, когда
транзакции начинают гарантировать, что не слишком многие выполняются параллельно.
Плагин пула потоков является коммерческой функцией. Это не включается в дистрибутивы сообщества MySQL.
На Windows плагин пула потоков требует Windows Vista или более новый. На Linux плагин требует ядра 2.6.9 или более новый.
Раздел B.14, "FAQ MySQL 5.6: Пул потоков Масштабируемости MySQL Enterprise"