@fsb, хаха, я уверен, что ты прав. И вы все еще уверены, что не микрооптимизируете и не беспокоитесь о проблеме, которой у вас нет?
м, вы писали демон, который обслуживает очередь заданий. Различные другие программы записывают задания для демона в очередь. Демон каждые несколько секунд опрашивает очередь на наличие ожидающих заданий. Предположим, что очередь реализована в виде таблицы в базе данных MySQL и что демон представляет собой простой цикл:
получить все должные работы из очередиделать работуспать на N секундперейти к 1Демон должен пережить прерванный сервис с сервера БД MySQL и прерывание соединений БД.
Вы бы разработали демон для подключения к серверу БД один раз за цикл? то есть подключить до 1. и отключить между 2 и 3?
Или вы хотите, чтобы демон оставил соединение открытым? В этом случае ему также необходимо: а) определить, когда сервер или соединение не работает, б) отключить и повторно подключить, и в) сделать это без накопления соединений с БД, дескрипторов сбойных соединений или других мертвых ресурсов.
Если у вас есть предпочтения, почему?
Плюсы и минусы?
Факторы, которые входят в дизайн?
Любые другие подходы?
Ответ здесь:MySQL соединение с демоном, написанным на php не говорит, почему лучше держать соединение открытым. Я читал в другом месте, что накладные расходы на соединение в MySQL очень легки. Поэтому не очевидно, почему постоянное использование одного подключения к серверу лучше, чем подключение / отключение каждые несколько секунд.
В моем случае демон написан на PHP.