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
и
поток репликации.
Add your own comment.