Автор Гілка: обмеження одночасної відправки в postfix  (Прочитано 2217 раз)

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Допоможіть вирішити проблему.
є поштовий сервер на  Лінуксі  і postfixі ... час від часу він приймає від своїх користучів декілька листів з дуже великою кількістю адресатів  , і пробує відіслати їх ...  і як наслідок виникає велика к-сть smtp процесів .. і вони завантажують канал ...  а хотілося б  щоб він був вільним, все ж таки пошта може і зачекати  ...
було зроблено обмеження к-сті smtp-процесів до 30

master.cf
..............
smtp      unix  -       -       n       -       30       smtp
.......................

а також обмежено вихідний трафік  на 25 порт  до певної величини ...

але зявилася наступна проблема: в той момент коли починається віправка пошти, всі ці 30 процесів стають зайнятими і не може прийти вхідна пошта  , в цьому і полягає  основна моя проблема ...  не знаю як вирішити ????
Якщо зняти обмеження на к-ть smtp-процесів -- не впевнений що поможе... вони і напевно  с-му завантажуть і через обмеження швидкості будуть довго пхатися всі разом (прийдесть напевно пробувати саме так)  ...
Може в postfix-і є якесь обмеження на одночасне відправлення з свєї черги листів ...???
Модуля iplimit до iptables-у в мене нема .... читав що ним можна обмежити одночасну к-ть зєднань.. ні ядро ні iptables перезбарати - не підходить  мені ..

« Змінено: 2007-04-18 11:42:08 від vova07 »

Praporshic

  • Гість
Подивіться на тему smtpd_recipient_limit, smtpd_client_connection_rate_limit, default_destination_recipient_limit, smtpd_client_message_rate_limit та інші *_limit

Відсутній major

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
  • I Love FreeBSD!
Цитата
але зявилася наступна проблема: в той момент коли починається віправка пошти, всі ці 30 процесів стають зайнятими і  не може прийти вхідна пошта  , в цьому і полягає  основна моя проблема ...  не знаю як вирішити ????

Гм....
Здається Ви щось наплутали... У postfix'а є smtp сервіс - відповідає за надсилання пошти, і smtpd - що відповідає за прийом. Вони налаштовуються окремими стрічками в master.cf!

Цитата
Подивіться на тему smtpd_recipient_limit, smtpd_client_connection_rate_limit, default_destination_recipient_limit, smtpd_client_message_rate_limit та інші *_limit

І для обмеження саме відправки потрібно використовувати параметри smtp_*, а не smtpd_* .

Praporshic

  • Гість
І для обмеження саме відправки потрібно використовувати параметри smtp_*, а не smtpd_* .
В моєму випадку - smtpd. Якщо smtp то clamsmtp можна викинути - він не зможе нормально працювати.

Відсутній major

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
  • I Love FreeBSD!
 :D

Ще раз повторю відповідь на питання яке є темою.
Для "обмеження одночасної відправки в postfix" потрібно
використовувати наступні параметри конфігураційного файлу main.cf
smtp_destination_concurrency_limit
default_destination_concurrency_limit
і у файлі master.cf поле maxproc
для сервісу smtp.

Параметри smtpd_* відповідають за прийом пошти!

Є звичайно можливість, що у автора топіку, канал "забивається" вхідними з'єднаннями, - тоді порада скористатись обмеженнями smtpd може допомогти. Але це варто винести в окремий топік.

2 Сергій Єгоров
Ви підняли цікаву проблему. Якщо маєте бажання, то створіть нову тему - обговоримо. Можливо і не слід викидати clamsmtp  ;) .

Praporshic

  • Гість
Якщо я вірно зрозумів, то проблема виникає через те, що користувачі вказують забагато to, cc та bcc. Внаслідок чого система не встигає розгрібати листи. Я для боротьби з цим ввів обмеження на прийом листів та кількість адресатів у кожному листі. А вони задаються саме через smtpd.
Що стосується "викинути clamsmtp" - я цього робити не збираюсь. В мене і так все працює без проблем. Хіба що після чергової порції спаму виникає бажання підправити фільтри на сервері, але як тільки я відкриваю консоль, до мене доходить - скринька на ukr.net або ua.fm. ::)
« Змінено: 2007-04-21 20:33:26 від Praporshic »

Відсутній Volodymyrko

  • Графоман
  • ****
  • дописів: 370
  • Карма: +0/-0
  • I Like FreeBSD !
Дякую, усім за відповіді .

Цитата
Якщо я вірно зрозумів, то проблема виникає через те, що користувачі вказують забагато to, cc та bcc. Внаслідок чого система не встигає розгрібати листи. Я для боротьби з цим ввів обмеження на прийом листів та кількість адресатів у кожному листі. А вони задаються саме через smtpd.  
Саме так, але користувачів обмежуватия не можу (на жаль), тому шукаю вирішення саме на стороні серверу ...

Цитата
У postfix'а є smtp сервіс - відповідає за надсилання пошти, і smtpd - що відповідає за прийом. Вони налаштовуються окремими стрічками в master.cf!
Цього я і не знав, ніяк не зміг найти опис master.cf-у. Звідси  виходить, що  обмеження smtp      unix  -       -       n       -       30       smtp ніяк не будуть впливати на пройом повідомлень   !!! на їх прийом впливає smtp      inet  n       -       n       -       40      smtpd  ??? ця цифра 40 (що зараз в мене стоїть) ???

Відсутній major

  • Новачок
  • *
  • дописів: 15
  • Карма: +0/-0
  • I Love FreeBSD!
Опис master.cf - http://www.postfix.com/master.5.html

smtp      unix  -       -       n       -       30       smtp
означає що postfix буде використовувати максимум 30 процесів (а отже і з'єднань) для відсилання пошти, аналогічно
smtp      inet  n       -       n       -       40      smtpd
вказує, що одночасно може бути не більше 40 процесів smtpd які приймають пошту.