[+] Postfix, spowolnienie serwera przy wysy
[+] Postfix, spowolnienie serwera przy wysyłaniu e-maila do dużej ilości odbiorców
Witam.
Posiadam pocztę w postfiksie, w MySQL ostatnio zauważyłem, że mój serwer dusi się na około 7-8 minut przy wysyłaniu tzw. paczki czyli e-maila do np. 20-30 adresatów. Podczas wysyłania polecenia top widać, że to przez procmaila i spamassaina. I teraz pytanie, czy można jakoś to ograniczyć lub nie pozwolić aby postfix przyjmował naraz do tylu użytkowników e-maila.
Posiadam pocztę w postfiksie, w MySQL ostatnio zauważyłem, że mój serwer dusi się na około 7-8 minut przy wysyłaniu tzw. paczki czyli e-maila do np. 20-30 adresatów. Podczas wysyłania polecenia top widać, że to przez procmaila i spamassaina. I teraz pytanie, czy można jakoś to ograniczyć lub nie pozwolić aby postfix przyjmował naraz do tylu użytkowników e-maila.
Polecam zajrzeć tutaj: http://www.postfix.org/TUNING_README.html#rcpts
Co prawda sam tego nie sprawdzałem ale wg tego można ustawić maksymalną ilość odbiorców wiadomości. Jeżeli będzie więcej to wiadomość będzie wysyłana w paczkach.
Co prawda sam tego nie sprawdzałem ale wg tego można ustawić maksymalną ilość odbiorców wiadomości. Jeżeli będzie więcej to wiadomość będzie wysyłana w paczkach.
Dziękuję, fajny poradnik ale nie wiem, która opcja będzie dla rozwiązania mojego problemu najlepsza:
To jest ciekawe, chyba o to mi chodzi. Według opisu, można ograniczyć otrzymywanie wiadomości, czyli jak np. ustawię 10, to tylko 10 w danej chwili przyjdzie. Tylko ciekawy jestem co on zrobi z resztą?
Dodałem wpis w main.cf
Chyba pomogło, wysłałem paczkę maili i serwer spokojnie sobie poradził.
Kod: Zaznacz cały
You can override the process limit for specific Postfix daemons by editing the [url=http://www.postfix.org/master.5.html]master.cf[/URL] file. For example, if you do not wish to receive 100 SMTP messages at the same time, but do not want to change the process limits for local mail deliveries, you could specify:
/etc/postfix/[url=http://www.postfix.org/master.5.html]master.cf[/URL]: # ==================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ==================================================================== . . . smtp inet n - - - 10 smtpd
Dodałem wpis w main.cf
Kod: Zaznacz cały
default_process_limit = 10
Kompletnie źle to rozumiesz 
Można limitować do ilu maksymalnie osób może być wysłana wiadomość - robi się to parametrem:
default_destination_recipient_limit - domyślnie ma on wartość 50 - możesz go zmienić na 5 i wtedy nie da się wysłać maila do 20 osób bo serwer na to nie pozwoli (użytkownik dostanie zwrotkę).
To nie jest rozwiązanie, którego szukasz
Zostaw też opcję default_process_limit w spokoju bo sobie z wartością 10 okaże się, że z serwera jest w stanie korzystać jednocześnie tylko kilka osób. Połączenia od reszty będą odrzucane.
To co tak na prawdę trapi twojego postfixa to zbyt duża liczba dopuszczonych procesów spamassassina - ustaw sobie max na 2 i będzie ok.
Dlaczego tak będzie lepiej - bo postfix szybko przyjmie maile od 20 osób po 20 sztuk, do 20 adresatów i zapisze sobie na dysku w kolejce - przy tym sam postfix bardzo mało obciąża system więc spowolnień nie będzie. Jak już sobie zakolejkuje to będzie stopniowo po 2 szt. wrzucał do spamassassina i wysyłał. 2 procesy spamassassina nie spowolnią serwera, a użytkownicy będą mogli słać paczki bez problemów.

Można limitować do ilu maksymalnie osób może być wysłana wiadomość - robi się to parametrem:
default_destination_recipient_limit - domyślnie ma on wartość 50 - możesz go zmienić na 5 i wtedy nie da się wysłać maila do 20 osób bo serwer na to nie pozwoli (użytkownik dostanie zwrotkę).
To nie jest rozwiązanie, którego szukasz

Zostaw też opcję default_process_limit w spokoju bo sobie z wartością 10 okaże się, że z serwera jest w stanie korzystać jednocześnie tylko kilka osób. Połączenia od reszty będą odrzucane.
To co tak na prawdę trapi twojego postfixa to zbyt duża liczba dopuszczonych procesów spamassassina - ustaw sobie max na 2 i będzie ok.
Dlaczego tak będzie lepiej - bo postfix szybko przyjmie maile od 20 osób po 20 sztuk, do 20 adresatów i zapisze sobie na dysku w kolejce - przy tym sam postfix bardzo mało obciąża system więc spowolnień nie będzie. Jak już sobie zakolejkuje to będzie stopniowo po 2 szt. wrzucał do spamassassina i wysyłał. 2 procesy spamassassina nie spowolnią serwera, a użytkownicy będą mogli słać paczki bez problemów.
Dobrze prawisz.
Na szybko sprawdziłem i pomyliłem tę opcję z: smtpd_client_recipient_rate_limit - kiedyś zrobiłem sobie małe "kuku" ustawiając ją na bodajże 10 i nie dało się wysłać maila do więcej niż 10 osób - serwer zwracał błąd.
Ale nadal podtrzymam, że warto zostawić opcję default_destination_recipient_limit przy domyślnej wartości.
Na szybko sprawdziłem i pomyliłem tę opcję z: smtpd_client_recipient_rate_limit - kiedyś zrobiłem sobie małe "kuku" ustawiając ją na bodajże 10 i nie dało się wysłać maila do więcej niż 10 osób - serwer zwracał błąd.
Ale nadal podtrzymam, że warto zostawić opcję default_destination_recipient_limit przy domyślnej wartości.