测试环境: ◇ 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 |
|