Справочное руководство по MySQL версии 4.1.1-alpha

       

Потоки MySQL


Сервер создает следующие потоки:

  • Поток TCP/IP-соединений обрабатывает все запросы подключения и создает новые выделенные потоки для проведения аутентификации и обработки SQL запросов для каждого соединения.

  • В Windows NT есть поток обслуживания именованного канала, который выполняет ту же работу, что и поток TCP/IP-соединений, но только по запросам на соединение именованного канала.

  • Поток сигналов обрабатывает все сигналы. Обычно этот поток также обрабатывает сигналы таймера и обращается к process_alarm() для принудительного объявления таймаутов на соединениях, которые слишком долго простаивали.

  • Если mysqld скомпилирован с -DUSE_ALARM_THREAD, то создается выделенный поток, обрабатывающий сигналы таймера. Используется только в некоторых системах, в которых возникают проблемы с sigwait(), или если есть необходимость использовать код thr_alarm() в приложении без выделенного потока обработки сигналов.

  • Если применяется опция --flush_time=#, то создается выделенный поток для периодического сбрасывания на диск всех таблиц с заданным интервалом.

  • Каждое соединение имеет свой поток.

  • Каждая отдельная таблица, на которой используется INSERT DELAYED, получает свой отдельный поток.

  • Если применяется --master-host, то запускается поток репликации подчиненного сервера для чтения и применения обновлений от головного.

    mysqladmin processlist выводит только потоки соединений, INSERT DELAYED и поток репликации.



    Содержание раздела