qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          性能測(cè)試知多少---響應(yīng)時(shí)間

          在上一節(jié)中,我們講到吞吐量,做為一個(gè)用戶你可以對(duì)吞吐量毫不關(guān)心,但響應(yīng)時(shí)間卻是用戶感受系統(tǒng)性能的主要體現(xiàn)。

            從用戶角度來(lái)說(shuō),軟件性能就是軟件對(duì)用戶操作的響應(yīng)時(shí)間。說(shuō)得更明確一點(diǎn),對(duì)用戶來(lái)說(shuō),當(dāng)用戶單擊一個(gè)按鈕,發(fā)出一條指令或在web頁(yè)面上單擊一個(gè)鏈接,從用戶單擊開(kāi)始到應(yīng)用系統(tǒng)把本次操作的結(jié)果以用戶能察覺(jué)的方式展示出來(lái),這個(gè)過(guò)程所消耗的時(shí)間就是用戶對(duì)軟件性能的直觀印象。

            響應(yīng)時(shí)間過(guò)程分析

            我們需要對(duì)這個(gè)過(guò)程進(jìn)行分解,才能得到你真正想要的響應(yīng)時(shí)間。我把整個(gè)過(guò)程分三個(gè)部分,呈現(xiàn)時(shí)間,數(shù)據(jù)傳輸時(shí)間和系統(tǒng)處理時(shí)間。

            呈現(xiàn)時(shí)間

            其實(shí)主要說(shuō)的瀏覽器對(duì)接收到數(shù)據(jù)的一個(gè)處理展示的過(guò)程。幾年前大家都在用IE,如果頁(yè)面顯示比較慢,我們肯定不會(huì)怪罪IE,只會(huì)怪罪電信運(yùn)營(yíng)商的網(wǎng)速或被訪問(wèn)的系統(tǒng)(其實(shí),大多情況我們不會(huì)考慮是被訪問(wèn)系統(tǒng)的問(wèn)題)。現(xiàn)在chrome來(lái)了,我們會(huì)發(fā)現(xiàn)同一臺(tái)電腦同一個(gè)網(wǎng)站,通過(guò)chrome去訪問(wèn),頁(yè)面的呈現(xiàn)速度會(huì)比IE略快。這是各種評(píng)測(cè)及大眾用戶的整體感受。當(dāng)然,我個(gè)人感覺(jué),opera瀏覽器的呈現(xiàn)速度最快,但它的顯示效果一直不太好。

            當(dāng)然,我說(shuō)這個(gè)呈現(xiàn)時(shí)間總不能全怪罪與瀏覽器的身上吧!當(dāng)然還和承載它的操作系統(tǒng)有關(guān),以及電腦硬件(比如cpu 內(nèi)存)。假如你有超快的瀏覽器,如果是一臺(tái)極其垃圾的電腦,我想你多打開(kāi)兩個(gè)網(wǎng)頁(yè)就有可能使電腦卡掉。

            數(shù)據(jù)傳輸時(shí)間

            千萬(wàn)不要忽視數(shù)據(jù)傳輸時(shí)間。如果你要寄信給你一個(gè)遠(yuǎn)方的朋友,你想是什么影響你將信息傳遞給遠(yuǎn)方的朋友?不是你寫信的過(guò)程(如果你寫的信不像書一樣厚的話),也不是你朋友讀信的過(guò)程,而是送信的過(guò)程。(ps, 我10天前在china-pub訂購(gòu)的一本書現(xiàn)在還沒(méi)到貨!XXX)

            拿我們系統(tǒng)的數(shù)據(jù)傳輸過(guò)程來(lái)說(shuō),我們發(fā)送一個(gè)請(qǐng)求需要時(shí)間,系統(tǒng)處理完后返回給我們也需要時(shí)間。初學(xué)性能測(cè)試工具的同學(xué)喜歡拿工具去測(cè)試互聯(lián)網(wǎng)上的一些系統(tǒng),甚至不懂性能的同學(xué)認(rèn)為可以用性能測(cè)試工具將互聯(lián)網(wǎng)上的一些網(wǎng)站壓崩潰。貌似這一招比任何黑客攻擊厲害多去。

            那么,我覺(jué)得這些同學(xué)應(yīng)該補(bǔ)補(bǔ)網(wǎng)絡(luò)知識(shí)了,你的帶寬是多少?互聯(lián)網(wǎng)是個(gè)網(wǎng),就是算是相同的起點(diǎn)與終點(diǎn),它有可能走的不同的路線。有沒(méi)有考慮網(wǎng)絡(luò)延遲?就算你的并發(fā)請(qǐng)求都能成功的發(fā)出,但到目的地的時(shí)候,已經(jīng)不能叫并發(fā)了。

            這也是為什么我們?cè)谝话阕鲂阅軠y(cè)試時(shí),一般要強(qiáng)調(diào)要在局域網(wǎng)中進(jìn)行。當(dāng)然,也有特殊的性能測(cè)試需要在互聯(lián)網(wǎng)中時(shí)行。它們重點(diǎn)不是求用戶的最大的并發(fā)量。

            系統(tǒng)處理時(shí)間

            系統(tǒng)得到請(qǐng)求后對(duì)請(qǐng)求進(jìn)行處理并將結(jié)果返回。那我進(jìn)行性能測(cè)試主要就是驗(yàn)證系統(tǒng)的處理時(shí)間,因?yàn)榍懊娴某尸F(xiàn)時(shí)間和數(shù)據(jù)傳輸時(shí)間都我們不可控制的,用戶使用的電腦及瀏覽器千差萬(wàn)別,用戶的網(wǎng)絡(luò)狀況千差萬(wàn)別。我們唯一能控制的就是將系統(tǒng)的處理請(qǐng)求的時(shí)間縮到最短暫。

            如果我們對(duì)系統(tǒng)的的處理進(jìn)行分析和講解的話,它會(huì)是一個(gè)非常龐大與復(fù)雜的過(guò)程。語(yǔ)言、語(yǔ)言框架、中間件,數(shù)據(jù)庫(kù)、系統(tǒng)架構(gòu)以及服務(wù)器系統(tǒng)。所以,想成為一個(gè)優(yōu)秀的性能測(cè)試工程師我們的路還很長(zhǎng)。

            實(shí)際性的能測(cè)試

            聽(tīng)了上面的分析,貌似每個(gè)過(guò)程都挺“浪費(fèi)”時(shí)間,那么我們?nèi)绾沃粶y(cè)試系統(tǒng)的處理時(shí)間呢?

            其實(shí)現(xiàn)在的測(cè)試工具都屏蔽呈現(xiàn)過(guò)程,只是模擬多用戶并發(fā)請(qǐng)求,計(jì)算用戶得到響應(yīng)的時(shí)間,頁(yè)不會(huì)將服務(wù)器的每個(gè)響應(yīng)都向客戶端呈現(xiàn)。

            對(duì)于數(shù)據(jù)傳輸?shù)膯?wèn)題,這也是我要強(qiáng)調(diào)的性能測(cè)試要在局域網(wǎng)中進(jìn)行,在局域網(wǎng)中一般不會(huì)受到數(shù)據(jù)帶寬的限制。所以,可以對(duì)數(shù)據(jù)的傳輸時(shí)間忽略不計(jì)。

            響應(yīng)時(shí)間的定義:

            響應(yīng)時(shí)間

            指的是客戶發(fā)出請(qǐng)求到得到響應(yīng)的整個(gè)過(guò)程的時(shí)間。在某些工具中,請(qǐng)求響應(yīng)時(shí)間通常會(huì)被稱為“TTLB”(Time to laster byte) ,意思是從發(fā)起一個(gè)請(qǐng)求開(kāi)始,到客戶端收到最后一個(gè)字節(jié)的響應(yīng)所耗費(fèi)的時(shí)間。

            系統(tǒng)響應(yīng)時(shí)間

            應(yīng)用系統(tǒng)從發(fā)出請(qǐng)求開(kāi)始到客戶端接收到響應(yīng)所消耗的時(shí)間。需要注明的是,這樣的定義完全是個(gè)人喜好。你可以提異議。

            我們來(lái)看兩種情況:

            我要訪問(wèn)百度首頁(yè),發(fā)出了一個(gè)請(qǐng)求,百度開(kāi)始給我返回頁(yè)面數(shù)據(jù),當(dāng)搜索框與搜索按鈕都已經(jīng)返回到頁(yè)面上了,但那個(gè)圖標(biāo)還在發(fā)送中。我不認(rèn)為這個(gè)響應(yīng)是完整的。必須把頁(yè)面上的所有信息都返回給我才是完整的,我要的也是所有結(jié)果返回給我的時(shí)間。這種情況更符合“相應(yīng)時(shí)間”的定義

            某系統(tǒng)有一個(gè)信息查詢功能,當(dāng)我輸入某條件查詢時(shí),可能要查詢幾百萬(wàn)條數(shù)據(jù),如果數(shù)據(jù)庫(kù),要查詢所有的數(shù)據(jù)并把所有的數(shù)據(jù)全部完整的返回給我。可能服務(wù)器要查詢很久,而我的電腦全部接收這些數(shù)據(jù)也可能只直接掛掉。那么服務(wù)器可能只查詢100條數(shù)據(jù)并把數(shù)據(jù)返回給我,當(dāng)我點(diǎn)擊“下一頁(yè)”時(shí),服務(wù)器再次查詢并將第二頁(yè)的數(shù)據(jù)返回給我。這種情況更符合“系統(tǒng)響應(yīng)時(shí)間”的定義。

            關(guān)于響應(yīng)時(shí)間,要特別說(shuō)明的一點(diǎn)是,對(duì)客戶來(lái)說(shuō),該值是否能夠被接受是帶有一定的用戶主觀色彩,也就是說(shuō),響應(yīng)時(shí)間的“長(zhǎng)”和“短”沒(méi)有絕對(duì)的區(qū)別。

            合理的響應(yīng)時(shí)間

            在互聯(lián)網(wǎng)上對(duì)于用戶響應(yīng)時(shí)間,有一個(gè)普遍的標(biāo)準(zhǔn)。2/5/10秒原則。

            也就是說(shuō),在2秒之內(nèi)給客戶響應(yīng)被用戶認(rèn)為是“非常有吸引力”的用戶體驗(yàn)。在5秒之內(nèi)響應(yīng)客戶被認(rèn)為“比較不錯(cuò)”的用戶體驗(yàn),在10秒內(nèi)給用戶響應(yīng)被認(rèn)為“糟糕”的用戶體驗(yàn)。如果超過(guò)10秒還沒(méi)有得到響應(yīng),那么大多用戶會(huì)認(rèn)為這次請(qǐng)求是失敗的。

            這里我們還要考慮一個(gè)使用頻率的概念。

            我最早安裝windows系統(tǒng)可能要1個(gè)小時(shí),我們?yōu)槭裁从X(jué)得這很正常,因?yàn)槲覀円芫貌叛b一次系統(tǒng),如果系統(tǒng)使用得當(dāng),可能一個(gè)系統(tǒng)用幾年不用重裝,假如,我們?cè)谙到y(tǒng)上裝個(gè)任何小軟件都要這么長(zhǎng)時(shí)間,那我們一定是無(wú)法忍受的。對(duì)于軟件控來(lái)說(shuō),他們會(huì)時(shí)常安裝各種新鮮有趣的軟件進(jìn)行使用。

            對(duì)于一個(gè)稅務(wù)報(bào)賬系統(tǒng),該系統(tǒng)的用戶每月使用一次,一次花費(fèi)3小時(shí)進(jìn)行數(shù)據(jù)的錄入,

            當(dāng)用戶單擊“提交”按鈕后,即使系統(tǒng)在10分鐘后才給出“處理成功”的消息,我們也覺(jué)得是可以接受的。

            因此,在進(jìn)行性能測(cè)試時(shí),“合理的響應(yīng)時(shí)間”取決于用戶的需求,而不能依據(jù)測(cè)試人員自己設(shè)想來(lái)決定。




          posted on 2012-07-13 09:48 順其自然EVO 閱讀(390) 評(píng)論(0)  編輯  收藏 所屬分類: loadrunner性能測(cè)試

          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 贵溪市| 河北区| 合江县| 五大连池市| 武冈市| 日照市| 大化| 武平县| 兴山县| 沙雅县| 南昌县| 无为县| 娄底市| 寿光市| 青州市| 南陵县| 青冈县| 化德县| 枣强县| 武隆县| 绥宁县| 安泽县| 富宁县| 乐陵市| 宁晋县| 会泽县| 松滋市| 闵行区| 成都市| 新宾| 临清市| 乌鲁木齐县| 枣阳市| 勐海县| 正镶白旗| 海晏县| 乌兰县| 乌拉特后旗| 兴文县| 六枝特区| 五大连池市|