测试邮箱发信速度
来源:互联网 发布:nba2kol拉文隐藏数据 编辑:程序博客网 时间:2024/05/16 01:19
运行环境:Linux x86_64
底层邮件 :qmail
脚本类型:shell
脚本内容:
测试脚本内容如下:
#!/bin/bash
#日志存放位置
Log=/home/sysadmin/zhaoyj/TestLog
echo -n > $Log
#统计文件大小
echo "`du -sh testtxt`" >> $Log
#记录开始发信的时间(以秒为单位)
BeginTime=`date +%s`
#发信一千封
for (( i=1;i<=1000;i++ ))
do
cat /home/sysadmin/zhaoyj/testtxt |mail -s "`date +%Y-%m-%d` `hostname` 'MMailTest--Number$i'" 收件地址
#发信的同时统计系统负载和邮件队列
if [ `expr $i % 100` == 0 ]
then
CPULoad=`w |grep "load average" |awk -F, '{print $4}'|awk -F: '{print $2}'`
MailQueue=`/var/qmail/bin/qmail-qstat |head -1|awk -F: '{print $2}'`
echo "when MailNumber=$i CPULoad=$CPULoad MailQueue=$MailQueue" >> $Log
fi
done
#记录发信结束的时间(以秒为单位)
EndTime=`date +%s`
#记录发信总共用的时间(以秒为单位)
UsedSeconds=`expr $EndTime - $BeginTime`
#时间转换函数
funConvert()
{
if [ "$1" = "-time" ]
then
let "vard=$2/86400" #将秒转化成天数
let "varh=$2%86400/3600" #将秒转化成小时
let "varm=$2%86400%3600/60" #将秒转化成分
let "vars=$2%86400%3600%60" #转化成分钟以后剩余的秒数
if [ $vard -gt 0 ] #如果天数大于0,输出的时间格式为“几d几h几m几s”
then
echo "${vard}d${varh}h${varm}m${vars}s"
elif [ $varh -gt 0 ]
then
echo "${varh}h${varm}m${vars}s"
elif [ $varm -gt 0 ]
then
echo "${varm}m${vars}s"
else
echo ${2}s
fi
fi
}
UsedTime=`funConvert -time $UsedSeconds` #调用函数funConvert进行时间转换
echo "UsedTime=$UsedTime" #向屏幕输出“发信所用的时间”
AvgSpeed=`expr $UsedTime / 1000` #计算平均发信速度
echo "AvgSpeed=$AvgSpeed" #向屏幕输出“平均发信速度的值”
我的测试结果:
脚本中加入统计系统负载和邮件队列的情况下:
1)发信文件大小是288K,日志情况
288K testtxt
when MailNumber=100 CPULoad= 1.07 MailQueue= 992
when MailNumber=200 CPULoad= 1.07 MailQueue= 1078
when MailNumber=300 CPULoad= 1.30 MailQueue= 1170
when MailNumber=400 CPULoad= 1.30 MailQueue= 1258
when MailNumber=500 CPULoad= 1.30 MailQueue= 1350
when MailNumber=600 CPULoad= 1.36 MailQueue= 1446
when MailNumber=700 CPULoad= 1.36 MailQueue= 1542
when MailNumber=800 CPULoad= 1.49 MailQueue= 1634
when MailNumber=900 CPULoad= 1.49 MailQueue= 1727
when MailNumber=1000 CPULoad= 1.49 MailQueue= 1822
UsedTime=20s
2)发信文件大小是20K,日志情况【有队列基数的情况】
20K testtxt
when MailNumber=100, CPULoad= 0.05 MailQueue= 794
when MailNumber=200, CPULoad= 0.05 MailQueue= 891
when MailNumber=300, CPULoad= 0.05 MailQueue= 988
when MailNumber=400, CPULoad= 0.05 MailQueue= 1085
when MailNumber=500, CPULoad= 0.37 MailQueue= 1185
when MailNumber=600, CPULoad= 0.37 MailQueue= 1282
when MailNumber=700, CPULoad= 0.37 MailQueue= 1381
when MailNumber=800, CPULoad= 0.37 MailQueue= 1479
when MailNumber=900, CPULoad= 0.37 MailQueue= 1576
when MailNumber=1000, CPULoad= 0.37 MailQueue= 1673
UsedTime=7s
3)发信文件大小是88K,日志情况【清除队列的情况下】
88K testtxt
when MailNumber=100, CPULoad= 0.00 MailQueue= 87
when MailNumber=200, CPULoad= 0.40 MailQueue= 183
when MailNumber=300, CPULoad= 0.40 MailQueue= 274
when MailNumber=400, CPULoad= 0.40 MailQueue= 366
when MailNumber=500, CPULoad= 0.40 MailQueue= 460
when MailNumber=600, CPULoad= 0.40 MailQueue= 544
when MailNumber=700, CPULoad= 0.93 MailQueue= 634
when MailNumber=800, CPULoad= 0.93 MailQueue= 719
when MailNumber=900, CPULoad= 0.93 MailQueue= 819
when MailNumber=1000, CPULoad= 0.93 MailQueue= 896
UsedTime=11s
- 测试邮箱发信速度
- 163邮箱命令行发信
- PHPMailer通过163邮箱发信
- 使用qq 邮箱STMP 发信问题
- 编写SMTP协议邮箱发信(QQ邮箱为例)
- 不通过发信怎样判断邮箱是不是真的?
- 解决cPanel邮箱只能发信不能收信的问题
- 新注册的163邮箱不能马上用smtp发信
- 就是类似163邮箱的发信选择收件人效果
- asp.net中模拟测试smtp发信
- 测试邮件发信服务所发生的意外
- 测试速度
- 测试速度
- 测试速度
- mail.yahoo.com.cn:yahoo邮箱用outlook无法发信问题的解决办法
- 公司邮箱发送不出去,使用Outlook的SMTP发信认证设置
- Python实例学习(1) - IP扫描器和163邮箱发信链接
- 邮箱应用:在如QQ邮箱预进行发信时,正文出现“数据正在加载……”
- 为什么苦逼的我们难以得到晋升?
- PWM, LED, BACKLIGHT, VIBRATOR调试笔记(未完待续)
- while(cin)的理解
- (一)关于线程安全问题的想法:CString
- HTTPS的七个误解
- 测试邮箱发信速度
- Blob字段为空值的查询问题
- 创建型、结构型、行为型模式(2)
- 关于Sift算法中尺度空间的通俗理解
- PHP函数--var_dump
- 第六届“飞思卡尔”杯智能汽车竞赛赛后总结
- 使用 VMware Workstation 在 Oracle Enterprise Linux 上安装 Oracle RAC 10g
- 2011-09-07
- 银行业现状