测试环境:
◇ XEON 4核2.80GHZ,4G 内存,500GB由Linux LVM(逻辑卷管理)划分的固态硬盘分区
◇ Centos 7.5 操作系统
◇ U-Mail邮件服务器 9.8centos企业版,关闭防火墙等安全设置
◇ 测试软件:邮件压力测试工具 smtp-source
测试过程:
使用压测工具smtp-source生成1000个线程,在测试机器向邮件服务器上的1000个账号投递总共100W封10KB大小的邮件,平均每个账号接收1000封邮件。
以下数据为U-Mail实验室测试数据,具体数据会因条件不同而产生差异,U-Mail邮件服务器的负载状态如下:
◇ CPU占用率:Mysql服务器CPU占用率在40%上下波动,6个邮件核心投递进程平均CPU占用率为30%。
◇ 内存占用率:高占用3800M,高内存占用率95%。其中服务器在测试前内存使用700M,Mysql占用内存500M,服务器当前接收1000个投递连接,(3800-700-500)/1000=2.6,也就是说每增加一个并发进程,服务器将消耗2.6M的内存。邮件接收完毕后,内存占用恢复到1000M左右。
◇ 服务器网络吞吐速度(使用iftop命令观察):上行平均2Mb/s,下行平均5Mb/s,网络吞吐速度主要取决于服务器所处的物理网络环境架构。
◇ 磁盘平均读写速度(iotop命令观察):读60MB/s,写30MB/s,读写速度取决于硬盘类型(机械/固态)以及硬盘分区方式。
◇ 总共投递时间:32分钟33秒,1000000/(30*60+33) =512,平均每秒接收512封邮件。
测试结论:
邮件服务器对资源的依赖型的强弱如下:服务器线路>内存>硬盘> CPU。
服务器瓶颈主要在网络吞吐速度和内存大小。
服务器至少需要预留2G左右的运行内存,4G内存的服务器能轻松接收1000个以上的并发进程。
在内存充足(>=8G)的情况下,服务器能轻松接收2000个以上的并发进程。
考虑到发邮件属于频率比较低的操作,以及根据行业经验,按照20倍的用户支持计算,得出以下结论:
◇ XEON 4核2.8GHZ,4G 内存,500G LVM固态硬盘的服务器可以支持至少1000个用户并发,支持20000用户以上。
◇ XEON 4核2.8GHZ,8G 内存,500G LVM固态硬盘的服务器可以支持至少2000个用户并发,支持40000用户以上。
由于实际使用环境比压测环境复杂,并且考虑到后续邮件数据量的增长及其扩展性等相关因素,推荐配置如下:
推荐配置 |
CPU |
内存 |
硬盘容量 |
RAID |
备份 |
25-250用户数 |
Xeon 四核 |
8G |
200GB-500GB |
RAID 5 |
硬盘容量*2 |
250-500用户数 |
Xeon 四核 |
16G |
1TB-2TB |
RAID 5 |
硬盘容量*2 |
500-2000用户数 |
Xeon 八核 |
16G |
2TB-3TB |
RAID 5 |
硬盘容量*2 |
2000-无限用户数 |
Xeon 十六核 |
32G |
3TB-6TB |
RAID 10 |
硬盘容量*2 |
如有邮件服务器双机热备等其它需求,请联系U-Mail出具具体的方案,谢谢!
欢迎大家关注U-Mail微信公众号,会定期给大家分享一些邮件相关的知识和U-Mail动态