Потоки в MySQL
Сервер 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.
Содержание раздела