<!doctype html>
<html>
 <head> 
  <meta charset="UTF-8"> 
 </head>
 <body>
  <div>
   <br>
  </div>
  <blockquote type="cite">
   <div>
    On 14/07/2020 10:52 gnd <<a href="mailto:gnd@itchybit.org">gnd@itchybit.org</a>> wrote:
   </div>
   <div>
    <br>
   </div>
   <div>
    <br>
   </div>
   <div>
    Hello list,
   </div>
   <div>
    <br>
   </div>
   <div>
    we are experimenting with using Dovecot as part of a simplified mail
   </div>
   <div>
    stack with SQL for a internal messaging / notification system for our
   </div>
   <div>
    customers. Sometimes we need to send a message to thousands of customers
   </div>
   <div>
    at once and we do it by having aliases resolve to 10k and 20k+ mail
   </div>
   <div>
    accounts.
   </div>
   <div>
    <br>
   </div>
   <div>
    When we send such a message the server load (obviously) is very high for
   </div>
   <div>
    a few minutes (in case of an alias containing 10k addresses its around
   </div>
   <div>
    6-7 minutes for a 2 core machine with load around 20-30).
   </div>
   <div>
    <br>
   </div>
   <div>
    Are there any optimizations or ways how to design the system around this
   </div>
   <div>
    problem ? Eg. is there a way how to deliver messages more slowly, and
   </div>
   <div>
    spread the load over longer time ?
   </div>
   <div>
    <br>
   </div>
   <div>
    The stack is very simple with Postfix receiving the messages and Dovecot
   </div>
   <div>
    acting as a LMTP and IMAP server. Mailboxes are in the Maildir format on
   </div>
   <div>
    disk. Customers get the messages on login, a PHP script connects to the
   </div>
   <div>
    mail account associated with their ID via IMAP and sends unseen messages
   </div>
   <div>
    in the form of a JSON.
   </div>
   <div>
    <br>
   </div>
   <div>
    Best regards,
   </div>
   <div>
    <br>
   </div>
   <div>
    gnd/
   </div>
  </blockquote>
  <div class="default-style">
   <br>
  </div>
  <div class="default-style">
   Can you provide output of doveconf -n?
  </div>
  <div class="default-style">
   <br>
  </div>
  <div class="default-style">
   Also, verbose_proctitle=yes gives more insight what the processes are doing.
  </div>
  <div class="default-style">
   <br>
  </div>
  <div class="default-style">
   Aki
  </div>
 </body>
</html>