@fsb, хаха, я уверен, что ты прав. И вы все еще уверены, что не микрооптимизируете и не беспокоитесь о проблеме, которой у вас нет?

м, вы писали демон, который обслуживает очередь заданий. Различные другие программы записывают задания для демона в очередь. Демон каждые несколько секунд опрашивает очередь на наличие ожидающих заданий. Предположим, что очередь реализована в виде таблицы в базе данных MySQL и что демон представляет собой простой цикл:

получить все должные работы из очередиделать работуспать на N секундперейти к 1

Демон должен пережить прерванный сервис с сервера БД MySQL и прерывание соединений БД.

Вы бы разработали демон для подключения к серверу БД один раз за цикл? то есть подключить до 1. и отключить между 2 и 3?

Или вы хотите, чтобы демон оставил соединение открытым? В этом случае ему также необходимо: а) определить, когда сервер или соединение не работает, б) отключить и повторно подключить, и в) сделать это без накопления соединений с БД, дескрипторов сбойных соединений или других мертвых ресурсов.

Если у вас есть предпочтения, почему?

Плюсы и минусы?

Факторы, которые входят в дизайн?

Любые другие подходы?

Ответ здесь:MySQL соединение с демоном, написанным на php не говорит, почему лучше держать соединение открытым. Я читал в другом месте, что накладные расходы на соединение в MySQL очень легки. Поэтому не очевидно, почему постоянное использование одного подключения к серверу лучше, чем подключение / отключение каждые несколько секунд.

В моем случае демон написан на PHP.

Ответы на вопрос(3)

Ваш ответ на вопрос