[SOLVED] Avg Mail Processing Time

KatyComputer

Active Member
Sep 26, 2019
193
16
38
61
St Louis
katycomputer.com
Our PMG box tends to have an average mail processing time of 2 seconds. Is that a happy number? What should we be doing to improve performance?

CPU camps out at some number below 5%
Memory tends to sit at 25%
Storage, 3%

pmgperf /
CPU BOGOMIPS: 14016.00
REGEX/SECOND: 1965309
HD SIZE: 30.00 GB (rpool/data/subvol-100-disk-0)
sh: 1: cannot create /proc/sys/vm/drop_caches: Read-only file system
FSYNCS/SECOND: 664.09
DNS EXT: 14.36 ms
DNS INT: 12.82 ms (fastnet1.com)
 
I am down to 1.33s - not sure if that is a good or bad number, it's better than 2 seconds. I haven't compiled rules, that is going to have to wait for another day. Two issues seem to have helped:
1. Running Unbound instead of PowerDNS

2. Whitelisting the big boys using postwhite
 
I have 1.9s on my commercial test system (private is a bit undersized and has less mails), but this 1.9s include spam assassin running twice because of my miltered setup (pre-queue filtering). So it really will be around the half. So 1.33s sounds somehow good.

Unbound is also my recommendation.

I read about postwhite, but I always step back from doing so as I don't want to whitelist all this bad guys (gmail spammers, yahoo spammers, outlook/hotmail spammers).
 
My average mail processing time is around 4s. Guess my processing time is really high. This is on PMG 5. I am using bind dns cache server. I tried unbound but it can't resolve one particular domain so went back to bind.
VM Hardware spec:
CPU: 1 socket 2 cores (kvm64)
Memory: 4 GB
Disk: NFS backend qcow2 format

user@host1:/etc# pmgperf /
CPU BOGOMIPS: 8779.36
REGEX/SECOND: 2752040
HD SIZE: 13.23 GB (/dev/mapper/pmg-root)
BUFFERED READS: 113.09 MB/sec
AVERAGE SEEK TIME: 4.94 ms
FSYNCS/SECOND: 669.08
DNS EXT: 111.90 ms
DNS INT: 3.03 ms (domain1.hi.edu)

I guess may try to compile the rules.
 
My average mail processing time is around 4s. Guess my processing time is really high. This is on PMG 5. I am using bind dns cache server. I tried unbound but it can't resolve one particular domain so went back to bind.
VM Hardware spec:
CPU: 1 socket 2 cores (kvm64)
Memory: 4 GB
Disk: NFS backend qcow2 format

user@host1:/etc# pmgperf /
CPU BOGOMIPS: 8779.36
REGEX/SECOND: 2752040
HD SIZE: 13.23 GB (/dev/mapper/pmg-root)
BUFFERED READS: 113.09 MB/sec
AVERAGE SEEK TIME: 4.94 ms
FSYNCS/SECOND: 669.08
DNS EXT: 111.90 ms
DNS INT: 3.03 ms (domain1.hi.edu)

I guess may try to compile the rules.

Looks like bind takes much time. I had issues with bind not resolving records and being too slow. If unbound works for all other zones but one domain maybe you could try to fetch their details otherwise and load them to unbound directly? Unsure, if that's possible with unbound, I know, that it's possible with bind.

Here is my output of my systems:

1. private one (undersized, mail processing time of 4 seconds as well):

1 vCPU, 2 GB RAM, 20 GB NVMe SSD

CPU BOGOMIPS: 4389.68
REGEX/SECOND: 1898556
HD SIZE: 14.04 GB (/dev/mapper/pmg-root)
BUFFERED READS: 525.01 MB/sec
AVERAGE SEEK TIME: 0.55 ms
FSYNCS/SECOND: 455.94
DNS EXT: 15.26 ms
DNS INT: 10.14 ms (heutger.net)

2. commercial test (as written above):

2 vCPU, 4 GB RAM, 40 GB NVMe SSD

CPU BOGOMIPS: 8400.00
REGEX/SECOND: 1869483
HD SIZE: 28.69 GB (/dev/mapper/pmg-root)
BUFFERED READS: 1041.84 MB/sec
AVERAGE SEEK TIME: 0.28 ms
FSYNCS/SECOND: 993.31
DNS EXT: 15.60 ms
DNS INT: 8.33 ms (psw.net)
 
Looks like bind takes much time. I had issues with bind not resolving records and being too slow. If unbound works for all other zones but one domain maybe you could try to fetch their details otherwise and load them to unbound directly? Unsure, if that's possible with unbound, I know, that it's possible with bind.

Here is my output of my systems:

1. private one (undersized, mail processing time of 4 seconds as well):

1 vCPU, 2 GB RAM, 20 GB NVMe SSD

CPU BOGOMIPS: 4389.68
REGEX/SECOND: 1898556
HD SIZE: 14.04 GB (/dev/mapper/pmg-root)
BUFFERED READS: 525.01 MB/sec
AVERAGE SEEK TIME: 0.55 ms
FSYNCS/SECOND: 455.94
DNS EXT: 15.26 ms
DNS INT: 10.14 ms (heutger.net)

2. commercial test (as written above):

2 vCPU, 4 GB RAM, 40 GB NVMe SSD

CPU BOGOMIPS: 8400.00
REGEX/SECOND: 1869483
HD SIZE: 28.69 GB (/dev/mapper/pmg-root)
BUFFERED READS: 1041.84 MB/sec
AVERAGE SEEK TIME: 0.28 ms
FSYNCS/SECOND: 993.31
DNS EXT: 15.60 ms
DNS INT: 8.33 ms (psw.net)

Hi,

It is possible with unbound. Here is my setup to point the domain to their dns servers:

# forward queries to upstream DNS
forward-zone:
name: "ifa.hawaii.edu."
forward-addr: 128.171.71.150
forward-addr: 128.171.2.6
forward-addr: 128.171.168.6
forward-addr: 128.171.2.5
forward-zone:
name: "."
forward-addr: 128.171.1.50
forward-addr: 128.171.213.116

My DNS Ext query is still slow:

DNS EXT: 105.97 ms
DNS INT: 1.60 ms (domain1.hi.edu)
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!