You should be able to use https://doc.dovecot.org/2.4.0/core/summaries/
settings.html#passdb_use_worker with pgsql too.
 
Aki
     On 13/02/2025 15:47 EET Anatoliy Zhestov via dovecot
     <dovecot@dovecot.org> wrote:
      
      
     Well, I try, but according to documentation - auth-workers are used
     for
     mysql and not for postgres.
     Nothing changes. auth process raises cpu% to 100 and performance not
     raised anyway.
      
     On Thu, Feb 13, 2025 at 5:08 PM Aki Tuomi <aki.tuomi@open-
     xchange.com>
     wrote:
      
          Try setting
          auth_cache_verify_password_with_worker=yes
          and see if this helps?
          Aki
               On 13/02/2025 14:55 EET Anatoliy Zhestov via
               dovecot <
          dovecot@dovecot.org> wrote:
          >
          >
               I set up a test server and started testing it by
               multiple threads
          (1-200),
               using all the advice given to me.
               1 I disabled the postlogin script
               2 raised maxconns to 200
               3 set service_count = 400, process_min_avail =
               100
               4 increase auth_cache
               5 increase the pool in postgres
               6 enable high-performance mode for imap-login
               However, the performance of the auth service
               seems limited by one core
          and
               cannot rise above 30-40 logins per second for our
               processor (60-70 with
               warm cache).
               Still, is there any way to parallelize this?
               Having 48 cores to be limited by the performance
               of the one is too sad.
          >
               On Tue, Feb 4, 2025 at 1:23 PM Timo Sirainen
               <t...@sirainen.com> wrote:
                    On 3. Feb 2025, at 20.18, Anatoliy
                    Zhestov via dovecot <
                    dovecot@dovecot.org> wrote:
                    >
                    >>
                    >> Are you sure the problem is
                    authentication / pgsql? You could test
          with
                              looping "doveadm
                              auth lookup $user"
                              rapidly. Of course
                              for different
                    users
                    >> to avoid them coming from cache. Or
                    if you can reproduce it that
          way,
                    try
                    >> if the same happens for repeating
                    the same user so it does come from
                    cache.
                    >
                    >
                         i test in condition when 90%
                         of imap connection is already
          established.
                         auth cache is enabled so i
                         guess tests with the same
                         user are not
                    relevant.
                    >
                         -------- less loaded server
                         ps waux|grep imap-login|wc -l
                         24977
                    Oh, somehow I missed that you have this
                    many concurrent connections.
                         echo "13285 / 343" |bc
                         38 (per second)
                    So with this speed 24977 users would
                    take 11 minutes to login back,
          which
                    is a bit slow.
                    Some ideas:
                    1) If pgsql is the bottleneck, try
                    multiple pgsql connections: Add
                    maxconns=4 (or whatever) to the
                    dovecot-sql.conf.ext's connect line.
                    2) In your Dovecot proxy (assuming you
                    have one?) you can configure it
          to
                    spread over disconnections over a long
                    time, if the issue is that
          backend
                    disconnects everyone at once.
                    login_proxy_max_disconnect_delay
                    setting
          does
                    this.
                    3) With that many connections and to
                    make logins faster, you'd be
          better
                    off using
          https://doc.dovecot.org/2.3/admin_manual/login_processes/
          #high-performance-mode
                    4) To optimize login performance, it
                    would be best to get rid of the
                    post-login script. Also:
                    service imap {
                    service_count = 1000
                    process_min_avail = 10
                    }
                    5) auth_cache_size is rather small.
                    Likely could be increased much
          larger.
               _______________________________________________
               dovecot mailing list -- dovecot@dovecot.org
               To unsubscribe send an email to dovecot-
               le...@dovecot.org
     >
     _______________________________________________
     dovecot mailing list -- dovecot@dovecot.org
     To unsubscribe send an email to dovecot-le...@dovecot.org
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to