本文是從性能測試與功能測試兩部分來講述服務(wù)器測試方法。并且在過程中每種測試都進(jìn)行三遍,每遍之間服務(wù)器和測試儀均重啟,結(jié)果取三次的平均值。以保證此服務(wù)器測試方法的準(zhǔn)確性。
測試工具采用思博倫通信(Spirent Communications)公司提供的Avalanche2200。Avalanche 2200模擬實(shí)際的用戶發(fā)出向服務(wù)器的請求(包括SMTP和POP3),并根據(jù)回應(yīng)給出具體的詳細(xì)測試結(jié)果。它有以下特點(diǎn):能夠模擬成百上千的客戶端對服務(wù)器發(fā)出請求;能夠模擬真實(shí)的網(wǎng)絡(luò)應(yīng)用情況;可以產(chǎn)生20000個(gè)連接/秒請求量,足以滿足測試的需要。
監(jiān)控端安裝了帶SP2的Windows 2000 Server。測試環(huán)境如下圖所示。兩臺被測服務(wù)器(軟硬件配置均相同)直連,并且分別通過交換機(jī)(港灣的礖ammer24交換機(jī))與Avalanche 2200的測試端口連接在一起。為了方便管理,我們使用了Avocent KVM交換機(jī),通過遠(yuǎn)程的方式就可以方便地控制多臺服務(wù)器。
為了將測試環(huán)境和測試模型盡量模擬為實(shí)際郵件系統(tǒng)的運(yùn)行情況,我們在測試方法上作了充分的考慮。第一,采用兩臺服務(wù)器建立的郵件系統(tǒng)。一臺服務(wù)器只有本地投遞而沒有遠(yuǎn)程投遞的情況,對郵件系統(tǒng)的壓力不大,而用戶實(shí)際的使用情況肯定會包括遠(yuǎn)程投遞的情況,因此我們進(jìn)行了兩臺服務(wù)器的郵件系統(tǒng)測試。第二,采用多域測試。兩臺服務(wù)器分別配置獨(dú)立的DNS服務(wù)器,并指定多域名(5個(gè)域名)。第三,采用多賬號測試。我們在每個(gè)域里建立200個(gè)賬號,一共1000個(gè)賬號。測試時(shí),兩臺服務(wù)器的用戶之間相互發(fā)送郵件,占總數(shù)的90%,同時(shí),每臺服務(wù)器內(nèi)部的用戶之間互發(fā)郵件,占總數(shù)的10%。第四,發(fā)送郵件大小滿足一定分布。發(fā)送郵件大小分別為:400、1000、2000、4000、10000、20000、40000和100000字節(jié)。
具體測試過程由4個(gè)階段組成,第一階段是預(yù)熱階段,Avalanche發(fā)出的發(fā)送郵件請求量由0慢慢上升到10/s;第二階段是逐步加壓階段,請求量逐步增加到510/s(此數(shù)值超過所有參測郵件系統(tǒng)的最高能力);第三階段是維持階段,請求量保持不變;第四階段是下降階段,請求量由最大值下降為0。最后得出服務(wù)器的最大并發(fā)數(shù),同時(shí)還會提供成功百分比、往返延遲等結(jié)果。
POP3協(xié)議的各項(xiàng)操作有CHECK、LIST、RETR、DELETE等,每種測試方法與SMTP大致一樣。本次參測的郵件系統(tǒng)都提供了賬號安全保護(hù)功能,對于同一個(gè)電子郵件賬戶,只允許同時(shí)一個(gè)用戶用POP3接收郵件,而進(jìn)行壓力測試,必須同時(shí)發(fā)起大量的POP3連接,因此,我們只是作了DELETE的驗(yàn)證(每個(gè)賬號只登錄一次進(jìn)行DELETE操作)。
服務(wù)器接收到郵件以后只是存儲到本地然后建立起索引就向用戶發(fā)送“成功”信息,因此,用戶什么時(shí)候真正收到郵件得不到反映。所以,我們設(shè)計(jì)了一個(gè)方法對賬號究竟多長時(shí)間收到郵件進(jìn)行了考察。我們自己編了一個(gè)程序,使用一臺服務(wù)器上的100個(gè)賬號(每個(gè)域使用20個(gè)賬號)向另一臺服務(wù)器上的100個(gè)賬號發(fā)送1000封郵件,每封郵件長度為20K字節(jié)。發(fā)送完成以后馬上對被發(fā)送賬號進(jìn)行檢查,得出收到郵件數(shù)目,然后在5分鐘以后再次進(jìn)行檢查,如果沒有完全收到,那么再過5分鐘進(jìn)行檢查,直到1000封郵件都收到為止。
每種測試都進(jìn)行三遍,每遍之間服務(wù)器和測試儀均重啟,結(jié)果取三次的平均值。
在服務(wù)器檢測方法中的功能測試方面,我們著重考察了安全性、多域管理以及郵件存儲等方面,同時(shí),還考察了系統(tǒng)運(yùn)行平臺、系統(tǒng)支持能力、用戶服務(wù)能力、郵箱管理能力等。我們還對系統(tǒng)的管理、客戶端的管理、整個(gè)系統(tǒng)的易用性等幾個(gè)方面進(jìn)行考察。
以上為此服務(wù)器測試方法的詳細(xì)步驟,希望讀者朋友活學(xué)活用,對大家的工作生活中能有切實(shí)的幫助。