URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 52040
[ Назад ]

Исходное сообщение
"postfix conf parameters"

Отправлено Morpheus , 29-Дек-04 15:15 
Здравствуйте, коллеги !

Может ктонибудь внятно объяснить разницу между maximal_backoff_time и minimal_backoff_time в плане времени между попытками послать письмо ?

# The maximal_backoff_time parameter specifies the maximal time
# between attempts to deliver a deferred message.
#
# Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
# The default time unit is s (seconds).
#
maximal_backoff_time = 4000s

# The minimal_backoff_time parameter specifies the minimal time
# between attempts to deliver a deferred message.  This parameter
# also limits the time an unreachable destination is kept in the
# short-term, in-memory, destination status cache.
#
# Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
# The default time unit is s (seconds).
#
minimal_backoff_time = 1000s


Содержание

Сообщения в этом обсуждении
"postfix conf parameters"
Отправлено unk , 29-Дек-04 15:34 
>Может ктонибудь внятно объяснить разницу между maximal_backoff_time и minimal_backoff_time в плане времени
>между попытками послать письмо ?
Помочь перевести?

"postfix conf parameters"
Отправлено Morpheus , 29-Дек-04 16:27 
>>Может ктонибудь внятно объяснить разницу между maximal_backoff_time и >>minimal_backoff_time в плане времени
>>между попытками послать письмо ?
>Помочь перевести?


Нет ;)
Неясно чем отличается минимальное время между попытками от максимального.
Если раз в минимальное время пытаемся послать письмо, то что делается раз в максимальное время.
Неясно.


"postfix conf parameters"
Отправлено unk , 29-Дек-04 16:35 
>>Помочь перевести?
>Нет ;)
Слава Богу! :)

>Неясно чем отличается минимальное время между попытками от максимального.
>Если раз в минимальное время пытаемся послать письмо, то что делается раз
>в максимальное время.
>Неясно.
OK. Попробую описАть, но предупреждаю заранее - лектор из меня мягко
говоря никакой. Может я вас только больше запутаю...

Когда при доставке сообщения возникает временная ошибка, то сообщение помещается в  deferred (отсроченную) очередь. При перемещении для отложенных сообщений устанавливается mtime в будущее на  интервал между интересовавшими вас minimal_backoff_time и maximal_backoff_time). Конкретное время на которое сообщение будет отложено определяется примерно так (упрощенно):
1) 1-e попадание в deferred - minimal_backoff_time
2) далее min(время проведенное в очереди *2, maximal_backoff_time)
3) если время нахождения в очереди > maximal_queue_lifetime, то сообщение посылается назад отправителю.
Т.е. более свежие сообщения postfix пытается отправить чаще, чем "залежалые".

Каждые queue_run_delay единиц времени (по дефолту 1000 секунд) qmgr сканирует эту и incoming очереди, перемещая часть сообщений в активную очередь (используется round-robin алгоритм для предотвращения забивания очередей). За один проход из deferred  в active попадают только те сообщения для которых "пришло время" (т.е. установленный ранее mtime наступил/прошел).

Так же qmnr в течении minimal_backoff_time помнит "провальные" адреса (next hop в терминах postfix) и не пытается отправлять на них.

Понятно?


"postfix conf parameters"
Отправлено Morpheus , 29-Дек-04 18:15 
>>>Помочь перевести?
>>Нет ;)
>Слава Богу! :)
>
>>Неясно чем отличается минимальное время между попытками от максимального.
>>Если раз в минимальное время пытаемся послать письмо, то что делается раз
>>в максимальное время.
>>Неясно.
>OK. Попробую описАть, но предупреждаю заранее - лектор из меня мягко
>говоря никакой. Может я вас только больше запутаю...

Постараемся разобраться ;)

>Когда при доставке сообщения возникает временная ошибка, то сообщение помещается в  
>deferred (отсроченную) очередь. При перемещении для отложенных сообщений устанавливается mtime в
>будущее на  интервал между интересовавшими вас minimal_backoff_time и maximal_backoff_time). Конкретное
>время на которое сообщение будет отложено определяется примерно так (упрощенно):
>1) 1-e попадание в deferred - minimal_backoff_time
>2) далее min(время проведенное в очереди *2, maximal_backoff_time)

Эти два пункта не совсем ясны ;(
Может быть их можно переформулировать ?
Заранее спасибо !

>3) если время нахождения в очереди > maximal_queue_lifetime, то сообщение посылается назад отправителю.

Это конечно подразумевается.

>Т.е. более свежие сообщения postfix пытается отправить чаще, >чем "залежалые".

Логично.

>Каждые queue_run_delay единиц времени (по дефолту 1000 секунд) qmgr сканирует эту и
>incoming очереди, перемещая часть сообщений в активную очередь (используется round-robin алгоритм
>для предотвращения забивания очередей). За один проход из deferred  в
>active попадают только те сообщения для которых "пришло время" (т.е. установленный
>ранее mtime наступил/прошел).

Наверно нужно с моей стороны уточнить, что сам алгоритм работы отсылки писем мне известен. Положено ;) Непонятно на данный момент как выбирается время между минимумом м максимумом.

>Так же qmnr в течении minimal_backoff_time помнит "провальные" адреса (next hop в
>терминах postfix) и не пытается отправлять на них.
>
>Понятно?



"postfix conf parameters"
Отправлено unk , 29-Дек-04 18:34 
>Эти два пункта не совсем ясны ;(
>Может быть их можно переформулировать ?
При первой не удачной попытке, отправка сообщения откладывается на minimal_backoff_time. Если же вторая и последующие попытки отправить письмо так же заканчиваются не удачей, то следующая попытка будет сделана через общее_время_нахождения_письма_в_очереди * 2, но не позднее чем через maximal_backoff_time.

Так же существуют поправки вносимые шедулером в зависимости от состояния очередей и кучи параметров...