MySQL- Руководство разработчика

Потоки в 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.



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