Справочное руководство по MySQL




9.1.1 Потоки 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 и поток репликации.


9.1 Внутреннее устройство MySQLОглавление9.1.2 Пакет тестирования MySQL