高性能的POP3解决scheme,可以处理几百万个电子邮件的帐户

由于规定,我们必须创build一个解决scheme,通过smtp / pop3(基本RPC / SMTP / POP3)进行通信。

消息从一个应用程序发送到SMTP,发送到一个邮箱,然后由另一个应用程序使用POP3接收,然后用SMTP发送一个答案,并且这个消息会循环发送。

预计平均邮件大小为40kB,估计每日邮件数量为12-15百万。 这将被分发到less量的用户帐户,大约10。没有邮件应该被长期存储,它的交付,取货,删除。

我们计划使用fusionio存储的硬件和SMTP部分的后缀,但正在寻找一个最好能处理这些卷的开源POP3软件。

我一直在看Dovecot,这可能是最好的解决scheme,但是我担心,由于它主要关注于IMAP,所以POP3有一些性能上的缺点。

我认为,如果您填写了2个标准,则可以将Dovecot用作有效的POP3服务器。 首先,POP3的最大开销是获取文件大小,除非有目录的索引。 确保使用Dovecot LDA,因为每次更新目录时它都会保留一个非常有效的消息大小和数字计数,这意味着连接到maildir的POP3进程不必首先扫描整个目录。 其次,如果您使用虚拟服务器,请仔细查看Director,因为这将确保用户始终连接到同一台服务器,从而将索引和非邮件检索操作保持在最低限度。

你也可能发现索引是无用的,如果客户连接的次数足够多,maildir / mbox中的消息数量仍然很less(我确信在扫描目录的成本和较小的增量成本更新索引,我不会冒险猜测虽然..)

鸽舍会好的。

如果许多邮件在一个邮箱中累积,性能只会变差(我的意思不是很好)。 如果你很快删除它们就可以了。

另一件事是使用maildir。 避免mbox,因为它有并发访问的问题。