圖 4。 在代理服務(wù)器組建中增加一個(gè)高斯隨機(jī)定時(shí)器
定時(shí)器將會(huì)使相應(yīng)的的取樣器被延遲。 延時(shí)的規(guī)則是,在上一個(gè)訪問請求被響應(yīng)并延時(shí)了指定的時(shí)間后,下一個(gè)被定時(shí)器影響的取樣訪問請求才會(huì)被發(fā)送出去。 因此, 你必須手工刪除第一個(gè)取樣器中自動(dòng)生成的定時(shí)器,因?yàn)榈谝粋(gè)取樣器不需要定時(shí)器。
在啟動(dòng)HTTP代理服務(wù)器以前,要在測試計(jì)劃中增加一個(gè)線程組(thread group),在線程組中增加一個(gè)錄制控制器(recording controller)用于存儲(chǔ)生成的結(jié)果。 否則, 生成的元件將會(huì)被直接添加到工作臺里。另外, 在錄制控制器里增加一個(gè)HTTP請求默認(rèn)值元件HTTP Request Defaults 元件 (是一個(gè)配置元件) 也很重要,這樣Jmeter不填寫使用了默認(rèn)值的字段。
錄制完成后, 停止HTTP 代理服務(wù)器; 在錄制控制器元件上單擊右鍵將記錄的元件保存為一個(gè)文件用于以后重用,另外,不要忘了恢復(fù)瀏覽器的代理服務(wù)器設(shè)置。
指定響應(yīng)時(shí)間需求并校驗(yàn)結(jié)果
盡管本節(jié)內(nèi)容與Jmeter不是直接相關(guān),但是Jmeter仍舊是指定響應(yīng)時(shí)間需求和校驗(yàn)測試結(jié)果這兩個(gè)負(fù)載測試評價(jià)任務(wù)互相聯(lián)系的紐帶。
在web應(yīng)用的環(huán)境里,響應(yīng)時(shí)間指的是從提交訪問請求到等到HTML結(jié)果所耗費(fèi)的時(shí)間。從技術(shù)的角度看,響應(yīng)時(shí)間也應(yīng)包括瀏覽器重繪HTML頁面的時(shí)間,但是瀏覽器一般是一塊接著一塊地顯示而不是直接顯示完整的整個(gè)頁面,讓人感覺響應(yīng)時(shí)間要少一些。 另外,典型的情況是,負(fù)載測試工具不會(huì)考慮瀏覽器的重繪時(shí)間。 因此, 在實(shí)際的性能測試中,我們將考慮以上描述的情形, 如果不能確信,可以在正常的響應(yīng)時(shí)間上加一個(gè)固定值,如0.5秒。
以下是一套眾所周知的確定相應(yīng)時(shí)間的標(biāo)準(zhǔn):
·用戶將不會(huì)注意到少于0.1秒的延遲
·少于1秒的延遲不會(huì)中斷用戶的正常思維, 但是一些延遲會(huì)被用戶注意到
·延遲時(shí)間少于10秒,用戶會(huì)繼續(xù)等待響應(yīng)
·延遲時(shí)間超過10秒后,用戶將會(huì)放棄并開始其他操作
這些閥值很有名并且一般不會(huì)改變,因?yàn)槭顷P(guān)乎人類的感知特性的。 所以要根據(jù)這些規(guī)則來設(shè)置響應(yīng)時(shí)間需求, 也需要適當(dāng)調(diào)整以適應(yīng)實(shí)際應(yīng)用。例如,亞馬遜公司(Amazon.com) 的主頁也遵循了以上規(guī)則,但是由于更偏重于風(fēng)格上的一致,所以在響應(yīng)時(shí)間上有一點(diǎn)損失。
乍一看,好像有兩種不同的方式來確定相應(yīng)時(shí)間需求:
·平均響應(yīng)時(shí)間(Average response time )
·響應(yīng)時(shí)間(Absolute response time);即, 所有的響應(yīng)時(shí)間必須低于某一閥值
指定平均響應(yīng)時(shí)間比較簡單一些(straightforward),但是由于數(shù)據(jù)變化的干擾,這個(gè)需求往往難以實(shí)現(xiàn)。為什么取樣中的20%的響應(yīng)時(shí)間要比平均值高3倍以上呢?請注意,JMeter 計(jì)算平均響應(yīng)時(shí)間與圖形結(jié)果監(jiān)視器中的標(biāo)準(zhǔn)偏差是一致的。
另一方面, 對響應(yīng)時(shí)間需求過于苛求是不實(shí)際的。 如果只有0。5%的取樣不能通過測試該怎么辦?如果再測一次,又會(huì)有很大的變化。 幸運(yùn)的是, 使用置信區(qū)間(confidence interva)分析這種正規(guī)的統(tǒng)計(jì)方法可以顧及到取樣變化的影響。
在繼續(xù)進(jìn)行前,讓我們首先回顧一些基本的統(tǒng)計(jì)學(xué)知識。
中心極限定理(The central limit theorem)
中心極限定理表明如果總體的分布有一個(gè)平均值μ和標(biāo)準(zhǔn)偏差σ,那么對于一個(gè)十分大的n(>30),其取樣平均值的分布將接近于正態(tài)分布,其平均值μmean = μ ,標(biāo)準(zhǔn)偏差σmean = σ/√n。
注意取樣平均值的分布是正態(tài)的,而取樣自身的分布不必是正態(tài)的。也是說如果多次運(yùn)行測試腳本則測試結(jié)果的平均響應(yīng)時(shí)間將會(huì)是正態(tài)的。
圖 5 和圖 6 分別展示了兩個(gè)正態(tài)分布。 在這里橫坐標(biāo)是采樣響應(yīng)時(shí)間的均值, 總體的均值被調(diào)整到坐標(biāo)的原點(diǎn)(shifted so the population mean is at the origin)。 圖5 表明90%的時(shí)間里,采樣均值位于±Zσ的區(qū)間里(percent of the time, the sampling means are within the interval ±Zσ,),這里的Z=1.645 和 σ 是標(biāo)準(zhǔn)偏差。 圖 6 表明了99%的情況下的情形這時(shí)的Z=2.576。 在給定的概率下,如90%, 我們可以看到相應(yīng)的Z呈現(xiàn)正態(tài)曲線,反之亦然。
Figure 5。 Z value for 90 percent
Figure 6。 Z value for 99 percent
在相關(guān)資料中所列的是可提供正態(tài)曲線計(jì)算的一些網(wǎng)站。在這些網(wǎng)站,我們可以計(jì)算隨意的相對區(qū)間內(nèi)的概率(如,-1.5 < X < 1.5)或者在一個(gè)聚集的區(qū)域(cumulated area)內(nèi) ,(如, X < 1.5)。 也可以從下面的表中得到近似值。