定制和维护邮件系统总结

虽然做了快半年的邮件系统,但是对邮件系统相关的整体把握还是很一般。

 

总体来说, 目前的邮件系统体系为: CentOS + Postfix + Dovecot + Maildrop + Mysql + Apache,在外围还涉及到了其他东西,数据缓存(Memcache), 邮件发信数量统计与限制(Police), 垃圾邮件检测(SpamAssassin),  邮件DomainKey验证(dk-filter), 数据实时分布备份(Rsync),全文搜索(Solr), 之外还在Maildrop里面分别用perl, php, c写了很多小脚本以协助主功能的运行,等等。。 对了, 还需要提到一点,目前整个服务体系都运行在一个台服务器上的。

 

他 们除了操作系统外都是通过静态编译,都统一安装在一个文件夹中,方便日后的管理。因为我们要建设的是多个域的邮件系统,因此采用的是虚拟网域搭配虚拟账户 的服务模式进行的,并通过配置:

virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_transport = maildrop:

将虚拟域和虚拟账户信息都存放到了数据库中, 而邮件正文则又maildrop统一放入了/home/domains/系统目录中。

(具体的配置步骤,后面的文档中补上)

 

目 前是用此系统的用户还很少,但已经暴露出了严重性能问题: 只要在线用户数一达到130用户以上,IMAP就会出现连接不上的问题。 经过脚本测试(用php取Mysql中的用户信息,再反复连接143端口, 用ss -tua | wc -l 显示连接数 )所有连接数超过5000以上imap就连接不上了。

 

我暂时还不清楚, 这里到底是因为服务体系都在一个服务器上造成的,还是因为这一架构存在着某种不兼容, 但我更愿意相信是后者的问题。 我也怀疑过时I/O上的问题, 用vmstat 和 iostat并没有看出问题,不过值得注意的是,每次imap出现连接问题时, vmstat显示的 procs / r值和b值都在4以上。

 

下一步我将花更多的精力去学习其他的测试技术,之后或许还会重新构建另一套邮件服务体系。

 

肚 子好饿, 吃饭了!

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值