為了將服務(wù)器測試環(huán)境和服務(wù)器測試模型盡量模擬為實(shí)際郵件系統(tǒng)的運(yùn)行情況,我們在測試方法上作了充分的考慮。第一,采用兩臺(tái)服務(wù)器建立的郵件系統(tǒng)。一臺(tái)服務(wù)器只有本地投遞而沒有遠(yuǎn)程投遞的情況,對(duì)郵件系統(tǒng)的壓力不大,而用戶實(shí)際的使用情況肯定會(huì)包括遠(yuǎn)程投遞的情況,因此我們進(jìn)行了兩臺(tái)服務(wù)器的郵件系統(tǒng)測試。第二,采用多域測試。兩臺(tái)服務(wù)器分別配置獨(dú)立的DNS服務(wù)器,并指定多域名(5個(gè)域名)。第三,采用多賬號(hào)測試。我們在每個(gè)域里建立200個(gè)賬號(hào),一共 1000個(gè)賬號(hào)。測試時(shí),兩臺(tái)服務(wù)器的用戶之間相互發(fā)送郵件,占總數(shù)的90%,同時(shí),每臺(tái)服務(wù)器內(nèi)部的用戶之間互發(fā)郵件,占總數(shù)的10%。第四,發(fā)送郵件大小滿足一定分布。發(fā)送郵件大小分別為:400、1000、2000、4000、10000、20000、40000和100000字節(jié)。

具體服務(wù)器測試過程由4個(gè)階段組成,第一階段是預(yù)熱階段,avalanche發(fā)出的發(fā)送郵件請求量由0慢慢上升到10/s;第二階段是逐步加壓階段,請求量逐步增加到510/s(此數(shù)值超過所有參測郵件系統(tǒng)的最高能力);第三階段是維持階段,請求量保持不變;第四階段是下降階段,請求量由最大值下降為0。最后得出服務(wù)器的最大并發(fā)數(shù),同時(shí)還會(huì)提供成功百分比、往返延遲等結(jié)果。

POP3協(xié)議的各項(xiàng)操作有CHECK、LIST、RETR、DELETE等,每種測試方法與SMTP大致一樣。本次參測的郵件系統(tǒng)都提供了賬號(hào)安全保護(hù)功能,對(duì)于同一個(gè)電子郵件賬戶,只允許同時(shí)一個(gè)用戶用POP3接收郵件,而進(jìn)行壓力測試,必須同時(shí)發(fā)起大量的POP3連接,因此,我們只是作了 DELETE的驗(yàn)證(每個(gè)賬號(hào)只登錄一次進(jìn)行DELETE操作)。

服務(wù)器接收到郵件以后只是存儲(chǔ)到本地然后建立起索引就向用戶發(fā)送“成功”信息,因此,用戶什么時(shí)候真正收到郵件得不到反映。所以,我們設(shè)計(jì)了一個(gè)方法對(duì)賬號(hào)究竟多長時(shí)間收到郵件進(jìn)行了考察。我們自己編了一個(gè)程序,使用一臺(tái)服務(wù)器上的100個(gè)賬號(hào)(每個(gè)域使用20個(gè)賬號(hào))向另一臺(tái)服務(wù)器上的100 個(gè)賬號(hào)發(fā)送1000封郵件,每封郵件長度為20K字節(jié)。發(fā)送完成以后馬上對(duì)被發(fā)送賬號(hào)進(jìn)行檢查,得出收到郵件數(shù)目,然后在5分鐘以后再次進(jìn)行檢查,如果沒有完全收到,那么再過5分鐘進(jìn)行檢查,直到1000封郵件都收到為止。

每種測試都進(jìn)行三遍,每遍之間服務(wù)器和測試儀均重啟,結(jié)果取三次的平均值。

在服務(wù)器測試中的功能測試方面,我們著重考察了安全性、多域管理以及郵件存儲(chǔ)等方面,同時(shí),還考察了系統(tǒng)運(yùn)行平臺(tái)、系統(tǒng)支持能力、用戶服務(wù)能力、郵箱管理能力等。我們還對(duì)系統(tǒng)的管理、客戶端的管理、整個(gè)系統(tǒng)的易用性等幾個(gè)方面進(jìn)行考察。

通過閱讀本文,希望讀者朋友更夠有所收獲,在日后服務(wù)器測試的過程中能夠百尺竿頭,更進(jìn)一步!

分享到

zhaohang

相關(guān)推薦