Для определения списка элементов для назначения множеству различных параметров в постфиксе вы можете использовать список, разделенный запятыми, например:
relay_domains = example.com,example.net,example.org
или хеш-карту вроде этого:
relay_domains = hash:/etc/postfix/relay_domains
а затем используйте postmap для преобразования этого файла ключей и значений в файл bdb.
Мой вопрос: есть ли причина для повышения производительности использовать хеш-карту вместо простого указания списка?
У меня нет данных или показателей, чтобы решить, имеет ли значение производительность в обоих случаях. Я попытаюсь объяснить, в каком фоновом процессе задействованы эти два случая.
Когда демон postfix был запущен, между ними мало различий, потому что:
main.cf
, postfix анализирует файл конфигурации, сохраняет его в памяти и не проверяет файл повторно до перезапуска postfix или проблем с администратором postfix reload
команда.Теперь, если вы хотите изменить список, тогда
main.cf
, вы должны вызвать postfix reload
. Это заставит главный демон перечитать файл конфигурации и завершить дочерний процесс, чтобы он мог получить новую конфигурацию.источникpostfix reload
.Тем не менее я не понимаю разницы между (1) перезапуском дочернего процесса путем ручного вызова postfix reload
и (2) был изменен перезапуск дочернего процесса, запускаемый хэш-таблицей.
Вот некоторые знания после прочтения страница руководства postfix, особенно на Процесс демонов раздел. Это помогло мне понять разницу между (1) перезапуском дочернего процесса путем ручного вызова postfix reload
и (2) был изменен перезапуск дочернего процесса, запускаемый хэш-таблицей.
В Postfix есть главный процесс, называемый мастер. Он вызывается впервые и служит «главной» программой. Он запускал другой демон, такой как smtpd, qmgr, trivial-rewrite по запросу.
Есть четыре вида постфиксных демонов
postfix reload
после изменения конфигурации процесс перечитает ее. Это в том числе: мастер.postfix reload
после изменения конфигурации процесс перечитает ее. Это в том числе: qmgr, tlsmgr, проверить.postfix reload
после изменения конфигурации ускорит изменение конфигурации. Это в том числе: банально переписывать, подбирать, постэкран, прокси-картаpostfix reload
в этом нет необходимости, потому что процесс перечитывает main.cf при повторном запуске. Это в том числе smtp, smtpd, местный и другие процессы помимо трех категорий выше.Если вы используете main.cf
хранить списки, но не вызывать postfix reload
, затем
main.cf
пока вы не вызовете postfix reload
:Когда вы используете хеш-таблицу для хранения списков, и вы postmap
-редактировал файл, затем
В остальном, похоже, разница в производительности между двумя описанными выше случаями была небольшой. Если стол менять редко, то разницей можно пренебречь. Исключение составляют случаи, когда вы часто делаете postfix reload
или измените хеш-таблицу, тогда это будет проблема производительности в qmgr
обработать. Видеть Вот и Вот
Дополнительная информация: Ознакомительные сведения о производительности Postfix