Andrea,

My postfix lmtp usually has a delay of 2.2 (delays=0.01/0.01/0/2.2) but
when it gets busy they can be higher, but they are never lower then 2.

table rows
dbmail_users 2246
dbmail_header 135684624
dbmail_phymessage 6315243

I don't know if those are big numbers or not. It seems like I have alot of
indexes. I upgraded from 2.2 this year. I could get a dump of the structure
if that would help anyone.  I don't see any triggers anywhere but I am not
sure if I have looked in all the right spots.





I am using xinetd so I got it working like this:

service lmtp-xinetd
{
        port = 9998
        disable = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        server          = /usr/bin/timelimit
        server_args     = -t120 -T120 /usr/local/sbin/dbmail-lmtpd -n

}

but shortly after it starting up I get 4 dbmail-lmtpd processes sitting at
100% (lmtp_destination_concurrency_limit = 4)

root      36834 98.0  0.0 154388 12400 ?        Rl   20:24   5:00
/usr/local/sbin/dbmail-lmtpd -n
root      37238 96.9  0.0 154572 13060 ?        Rl   20:25   3:31
/usr/local/sbin/dbmail-lmtpd -n
root      37248 96.8  0.0 154388 12548 ?        Rl   20:25   3:27
/usr/local/sbin/dbmail-lmtpd -n
root      37253 96.8  0.0 154388 12636 ?        Rl   20:25   3:27
/usr/local/sbin/dbmail-lmtpd -n

I have switched it back to running 4 dbmail-lmtpd daemons running on ports
24 26 27 and 28 with with postfix feeding them to balance on port 9999 and
balance switching between the 4 dbmail-lmtpd processes.

/usr/bin/balance 9999 localhost:24 localhost:26 localhost:27 localhost:28

And they do not have the same issues as running in -n mode.

dbmail    38406  0.0  0.0 164252 14420 ?        Sl   20:31   0:00
/usr/local/sbin/dbmail-lmtpd -f /etc/dbmail/dbmail.conf
dbmail    38416  0.0  0.0 165224 14996 ?        Sl   20:31   0:00
/usr/local/sbin/dbmail-lmtpd -f /etc/dbmail/dbmail2.conf -p
/var/run/dbmail/dbmail-lmtpd2.pid
dbmail    38426  0.0  0.0 162528 12452 ?        Sl   20:31   0:00
/usr/local/sbin/dbmail-lmtpd -f /etc/dbmail/dbmail3.conf -p
/var/run/dbmail/dbmail-lmtpd3.pid
dbmail    38436  0.0  0.0 162320 12376 ?        Sl   20:31   0:00
/usr/local/sbin/dbmail-lmtpd -f /etc/dbmail/dbmail4.conf -p
/var/run/dbmail/dbmail-lmtpd4.pid

However when I was running only 1 lmtpd I had all sorts of problems, too
many files and maxing out db connections.. but for the last 5 days have
been doing it this way with no issues. I have several 5 minute crons
checking services and syslog for new errors and when it finds one I restart
all mail services. which hasn't triggered since I moved to 4 dbmail-lmtpds.
I will update after running it this way for a few more weeks. I still get
an active queue when spammers get through or they send notifications to all
the mailboxes but it chews through them pretty fast. I don't see a need for
running more then 4 but I bet 10 would work just as good.

Mostly I am wanting to know if there is any reason not to run it this way.
I'd also like more DB performance but I am not sure even where to begin
with the db. I am afraid if I jack with indexes I may mess something up.

Thanks for looking into this
rich



On Tue, Feb 27, 2018 at 11:40 AM, Andrea Brancatelli <
abrancate...@schema31.it> wrote:

> Let's got in order:
>
>    1. Slow insert. It's not "normal". You'd better check what you have in
>    the dbmail_headername tables, clean it up, and probabily disable the
>    dbmail_headername auto-insert. Can you give a few information on the DB
>    size as well? I'm not using pgsql but probably checking the indexes would
>    help a lot.
>    2. LMTPD over INETD. There's a bug in the code (there is an open issue
>    for that) that causes lmtpd to get stuck in an infinite loop when used
>    thought inetd and the remote session get closed while receiving a mail. I
>    don't think there will be a fix in a short time for that *BUT* you can
>    overcome that with an utility called "timelimit". It just sits in the pipe
>    of the commands and if a subsequent command runs for more than X seconds it
>    kills it.
>
> In my inetd.conf I'm running:
>
> lmtpd stream tcp nowait/15 root /usr/local/bin/timelimit timelimit -t120
> -T120 /usr/local/sbin/dbmail-lmtpd -n
>
> And it works like a charm. It clearly doesn't fix the problem but at least
> it gives you a working situation.
>
> I can confirm that having multiple lmtpd dispatched by inetd is much
> faster than the daemon. Furthermore it helps you a lot with the DB
> Connection pool and avoid memory leaks.
>
>
> ---
>
>
> *Andrea Brancatelli
> Schema31 S.p.a.
> Chief Technology Officier*
> ROMA - FI - PA
> ITALY
> Tel: +39.06.98.358.472
> Cell: +39.331.2488468 <+39%20331%20248%208468>
> Fax: +39.055.71.880.466
> Società del Gruppo *OVIDIO TECH S.R.L.*
>
>
> On 2018-02-26 01:44, rich carroll wrote:
>
> Howdy folks,
>
> I'm running dbmail 3.2.3 on a postgresql db and am having slow inserts.
> About 2 seconds each. This is not really ok and it tends to get behind
> during peak usage or when someone emails every mailbox. I read that 2
> seconds a message is not abnormal, can anyone confirm this?
>
> My solution is to run balance (https://www.inlab.de/balance.html) to
> round robin postfix to 4 instances of dbmail-lmtp. I've been running it
> this way for a couple days and it looks like it is going to work. Does
> anyone else do it this way or see a reason for me not to run it this way?
>
> I did try to run dbmail-lmtp in stdin/stdout mode and call it from xinetd
> but the processes weren't ending like I expected and I ended up with a lot
> of them running and having file pointer errors eventually. Has anyone made
> it work with xinetd or inetd and can share the config with me?
>
> Not really related but my pg_dump backup is a little over twice the size
> of my db on disk. Is this normal or should I start worrying about that?
>
> Thanks
> Rich
>
>
>
>
>
>
>
> _______________________________________________
> DBmail mailing list
> DBmail@dbmail.org
> http://lists.nfg.nl/mailman/listinfo/dbmail
>
>
> _______________________________________________
> DBmail mailing list
> DBmail@dbmail.org
> http://lists.nfg.nl/mailman/listinfo/dbmail
>
>


-- 
Richard Carroll
richcarr...@gmail.com
785-288-1144
_______________________________________________
DBmail mailing list
DBmail@dbmail.org
http://lists.nfg.nl/mailman/listinfo/dbmail

Reply via email to