定制和维护邮件系统总结

来源:互联网 发布:excel怎样筛选重复数据 编辑:程序博客网 时间:2024/06/05 07:46

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

 

总体来说, 目前的邮件系统体系为: 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以上。

 

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

 

肚子好饿, 吃饭了!

 

 

 

 

 

 

原创粉丝点击