Thanks for the response.

Our test system is a pretty standard SATA disk with 2GB memory. If disk is the necessary resource, would we see an immediate benefit by going to a SCSI disk or even a SCSI array, or does that hardware benefit flatten out at some point?

As I mentioned, we're using the XFS system for the queue, does that provide any additional benefit, or would ext3 perform the same? Keep in mind, we will be dealing with 1,000,000 piece mailouts during a session. My findings were that XFS might handle more of the small html email files better, especially if they get backed up in a deferred queue for some reason, is this true?

In your response, you mention that receiving is much more taxing than just simply sending. Would a relay machine (as ours is acting) be considered a receiving server, or are you just referring to a server where mail is the last stop for a locally delivered account? What do you think is a reasonable relay rate for a standard setup?

I understand what you mean about sending to one server. I'm going to try and setup a few more receiving servers so that I can more accurately simulate sending it out to the internet.

Thanks again for your help!

Brandon

----- Original Message ----- From: "Wietse Venema" <[email protected]>
To: "Postfix users" <[email protected]>
Sent: Thursday, March 19, 2009 4:30 PM
Subject: Re: Performance tuning


Brandon Hilkert:
We send out a pretty volume of emails right now using a combination
of SQL and IIS SMTP. We get rates now of about 5,000/min. We're
looking to not only improve the rates, but incorporate DKIM/Domainkey
signing into the process. The choice has been made to go with
postfix along with a queue directory on an XFS file system.

I'm using postfix as a relay, and having it sign the outgoing
emails with DKIM. That process was about twice as slow as without
it. Without DKIM, I'm getting a rate of 700/min.

I was expecting much better performance out of the box. I realize
in my tests I'm going from a single host, to another single postfix
box that is receiving all the emails to one account, so there may
be bottlenecks that exist in my test setup, that may not be there
in our production environment.

I'm really hoping to move away from MS SMTP and don't have tons
of experience with Linux, so I'm hoping people could give me some
good ideas about improving outbound performance. The server will
not be directly exposed to the internet, so security is less of
a concern as it will be behind several Cisco firewalls. This server
will not be receiving any email, so nothing needs to be considered
for that side.

To improve performance, you need to identify the bottleneck.
Usually, the file system is the slowest component.

On Linux systems, fixing this can be as simple as editing the
syslog.conf file and making sure that the syslog daemon does not
sync the disk after every logfile record. Something like:

   mail.* -/var/log/maillog

Postfix was recently clocked at several thousand messages a second
while sending mail, but receiving mail is much more expensive since
each message needs to be made persistent on the local disk.

You also need to keep in mind that you can't deliver mail as fast
to ONE single machine as you can deliver to the whole Internet.

In the one machine case, all the mail is fighting for access to
the same file system, while with mail into the Internet, you are
effectively spreading the load over many remote file systems.

Wietse

Reply via email to