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