什么让邮件服务器运行更快或处理更多的邮件?

我意识到这可能更适合StackOverflow.com,但是因为我不是一个开发人员,我担心这些答案可能太过以开发人员为中心。 尽pipe如此,我想尽可能地在一些简单的版本中提供一些细节性的细节。

我正在理解什么使邮件服务器更快或能够处理更大的队列。 例如,qmail吹嘘速度非常快,但是最近我遇到了一些商业邮件服务器,这些邮件服务器对于处理邮件数量(例如:5万以上的队列大小没有什么大不了的)要比qmail差。 (对不起,我不想命名)

到目前为止我所知道的(纠正我,如果我错了):

速度:

  • 可以利用SMTP协议在同一networking连接中发送多个电子邮件,节省了设置和拆除套接字连接的时间。 他们还会将特定域名的电子邮件分组在一起,并通过相同的连接发送给他们。

  • multithreading交付

队列大小:

  • 将消息分解成多个目录(例如:/var/qmail/queue/mess/{0..20}/)
  • 正在使用的文件系统(我听说XFS在处理大量小文件和大文件方面效果更好)

使用基于epoll / event的系统而不是multithreading也可以使邮件服务器更有效率[思考传统的apache设置与nginx之间的区别]。

如果您愿意冒着服务器可靠性的风险,那么在写入假脱机目录或将其托pipe在虚拟盘中时可能会避免fsyncing。 如果你是理智的和负责任的 – 你会去突袭电池备份caching。

如果你的邮件服务器有不平凡的路由/策略逻辑 – 你可以考虑[预]编译它,而不是解释每条消息的规则。