邮件协议(SMTP)性能测试总结(Foxmail邮箱)
https://www.cnblogs.com/luihengk/p/6102095.html
先介紹一下郵件協(xié)議SMTP的工作機制(連接和發(fā)送過程),用wireshark工具抓包進行分析,如下:
SMTP協(xié)議的工作機制(連接和發(fā)送過程):
1.建立TCP連接,并將郵件服務器地址給客戶端;
2.客戶端發(fā)送EHLO命令以標識發(fā)件人自己的身份,然后客戶端登錄郵件服務器;
3.客戶端先標示電子郵件的發(fā)件人發(fā)送MAIL命令,服務器端以OK作為響應,表明準備接收;
4.客戶端發(fā)送RCPT 命令,以標識該電子郵件的計劃接收人,可以有多個RCPT行,?服務器端以OK作為響應,表示愿意為收件人接收郵件;
5.客戶端用命令DATA發(fā)送數(shù)據(jù);
6.以.表示結(jié)束輸入內(nèi)容一起發(fā)送出去,服務器端并以OK作為響應;
7.客戶端結(jié)束發(fā)送,用QUIT命令退出,服務器端以Bye作為響應,表示結(jié)束;
?
了解了郵件協(xié)議SMTP的工作機制后,下面開始進行性能測試:
一、先安裝好郵件客戶端FoxMail,被配置好郵件服務器等信息;
二、使用LoadRunner錄制腳本
三、生成腳本,并優(yōu)化腳本
Tasks目錄:
接收郵件腳本:
發(fā)送郵件腳本:
腳本分析:
1)整體上的分析,接收郵件操作和發(fā)送郵件操作在Tasks目錄分別生成一對.dat文件,打開.dat文件可以查看到附件的信息(附件類型、內(nèi)容等);
2)接收郵件和發(fā)送郵件的腳本函數(shù)是一樣的,郵件協(xié)議的工作過程是:登錄到郵件服務器à發(fā)送消息à退出郵件服務器à釋放郵件服務器;
3)腳本優(yōu)化(參數(shù)化)
四、執(zhí)行測試
1)在Contorller場景壓力過程中,出現(xiàn)大量的報錯,如圖1:
查看日志,是由于用戶多登陸時,session連接數(shù)已經(jīng)滿了,郵件服務器不允許重復登錄。當連接數(shù)滿的時候,需要清理一下。
2)在Contorller場景過程中,出現(xiàn)大量的報錯,如圖2,3:
這是由于郵件處理的原理是以隊列的形式發(fā)送的,當多用戶并發(fā)時,隊列阻塞,發(fā)送請求和服務響應會出現(xiàn)大量報錯信息,場景運行到12分30秒時響應時間沒了,此時所有的用戶已經(jīng)處理完成。
3)啟動LR錄制時,工具先會判斷郵件服務器和客戶端之間的連接,是否有未接收的郵件顯示(因郵件客戶端設置不是時時接收郵件),錄制日志如圖4:
?
附錄:
附錄:
SMTP常用的響應
501——參數(shù)格式錯誤
502——命令不可實現(xiàn)
503——錯誤的命令序列
504——命令參數(shù)不可實現(xiàn)
211——系統(tǒng)狀態(tài)或系統(tǒng)幫助響應
214——幫助信息
220<domain>——服務器就緒
221<domain>——服務關(guān)閉
421<domain>——服務器未就緒,關(guān)閉傳輸信道
250——要求的郵件操作完成
251——用戶非本地,將轉(zhuǎn)發(fā)向<forward-path>
450——要求的郵件操作未完成,郵箱不可用
550——要求的郵件操作未完成,郵箱不可用
451——放棄要求的操作,處理過程中出錯
551——用戶非本地,請嘗試<forward-path>
452——系統(tǒng)存儲不足,要求的操作未執(zhí)行
552——過量的存儲分配,要求的操作未執(zhí)行
553——郵箱名不可用,要求的操作未執(zhí)行
354——開始郵件輸入,以“.”結(jié)束
554——操作失敗
函數(shù)
使用SMTP函數(shù)
| 函數(shù)名 | 描述 |
| smtp_logon[_ex] | 登錄到SMTP服務器 |
| smtp_translate[_ex] | 轉(zhuǎn)換SMTP消息 |
| smtp_send_mail[_ex] | 發(fā)送SMTP消息 |
| smtp_free[_ex] | 釋放SMTP服務器,使其不處理命令 |
| smtp_logout[_ex] | 從SMTP服務器注銷 |
| ? | ? |
使用POP3函數(shù)
每個POP3函數(shù)都以pop3前綴開頭
| 函數(shù)名 | 描述 |
| pop3_logon[_ex] | 登錄到POP3服務器 |
| pop3_command[_ex] | 想POP3服務器發(fā)送命令 |
| pop3_retrieve[_ex] | 檢索POP3服務器上的郵件 |
| pop3_list[_ex] | 列出POP3服務器上的郵件 |
| pop3_delete[_ex] | 刪除服務器上的郵件 |
| pop3_free[_ex] | 釋放POP3服務器,使其不處理命令 |
| pop3_logoff[_ex] | 從POP3服務器注銷 ? |
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/articles/10660109.html
總結(jié)
以上是生活随笔為你收集整理的邮件协议(SMTP)性能测试总结(Foxmail邮箱)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DNS协议详解及报文格式分析
- 下一篇: 浏览器发送http请求过程分析