CentOS邮件服务器性能测试指南
sudo yum install swaks安装,示例命令(发送100封邮件至测试地址,启用TLS):swaks --to test@example.com --from admin@example.com --server localhost --auth LOGIN --auth-user admin --auth-password 123456 --tls --body "Performance Test" --header "Subject: Test Mail" --count 100
tar zxvf postal7.tgz && cd postal && ./configure && make && make install;test.list,包含1000+有效地址);postal -m 100 -p 50 -r 100 192.168.1.100 test.list >> postal_result.log
-m(邮件最大大小,KB)、-p(线程数)、-r(每分钟发送速率)、test.list(收件人列表)。grep "error" postal_result.log统计错误率。yum install jmeter或下载二进制包安装;测试过程中需重点监控以下指标,判断服务器性能是否符合要求:
systemctl start postfix && systemctl enable postfix),关闭防火墙临时测试(systemctl stop firewalld)或放行SMTP端口(25/tcp、587/tcp)。postal -m 200 -p 100 -r 200 192.168.1.100 test.list(模拟100线程、每分钟200封、每封200KB的邮件发送);top/htop:查看CPU、内存占用率,识别高负载进程;vmstat 1:每秒显示系统虚拟内存、进程、CPU活动;iostat -x 1:查看磁盘I/O读写速度(重点关注%util,接近100%说明磁盘瓶颈);ss -s:查看当前网络连接数(如Total: 500 connections);mailq(Postfix):查看待发送邮件队列长度(理想状态为0,若持续增长说明处理能力不足)。结果分析:
/var/log/maillog),定位错误原因(如DNS解析失败、SMTP认证错误、反垃圾机制拦截);smtpd进程占用过高CPU,需优化配置或升级硬件);smtpd_timeout设置过长)。优化建议:
max_connections增加最大连接数、smtpd_client_connection_rate_limit限制客户端连接速率、queue_run_delay缩短队列处理间隔);