性能標(biāo)準(zhǔn):Apdex介紹
聽云作為新一代應(yīng)用性能監(jiān)測平臺,其性能標(biāo)準(zhǔn)原理來源于Apdex。
Apdex聯(lián)盟,一個由眾多網(wǎng)絡(luò)分析技術(shù)公司和測量工業(yè)組成的聯(lián)盟組織,它們聯(lián)合起來開發(fā)了“應(yīng)用性能指數(shù)”即“Apdex”(Application Performance Index),用一句話來概括,Apdex是用戶對應(yīng)用性能滿意度的量化值。它提供了一個統(tǒng)一的測量和報告用戶體驗的方法,***次把最終用戶的體驗和應(yīng)用性能聯(lián)系在了一起。
在網(wǎng)絡(luò)中運行的任何一個應(yīng)用(Web、數(shù)據(jù)庫、E-mail等等),它的響應(yīng)時間決定了用戶的滿意程度。那么這個“響應(yīng)時間”是什么?是一個請求數(shù)據(jù)包得到響應(yīng)的時間嗎?不,這樣一個孤立的響應(yīng)時間再短對用戶來說也毫無意義。舉一個Web應(yīng)用的例子,當(dāng)用戶進(jìn)行一次http鏈接時,客戶端和服務(wù)器之間會產(chǎn)生很多個交互(一個交互指一次客戶端的請求和服務(wù)器的響應(yīng)),而不是只有一個??梢韵胂笕鄙倭诉@其中的任何一個交互,打開的網(wǎng)頁都是殘缺不全的,http鏈接這一動作產(chǎn)生的所有交互完成之前,用戶無法進(jìn)行下一步的操作。
換一個角度來看這個過程,進(jìn)行http鏈接是用戶使用Web應(yīng)用時發(fā)生的一個任務(wù)(Task),只有這個任務(wù)完成,用戶才能進(jìn)行下一個任務(wù)(再次進(jìn)行http鏈接,或下載文件等等)。用戶在網(wǎng)絡(luò)上使用一個應(yīng)用的過程,就是發(fā)生連續(xù)的一系列任務(wù)的過程。
任務(wù)的概念非常重要,它是應(yīng)用性能和用戶體驗的結(jié)合點。在完成一個任務(wù)之前,用戶是在等待其完成才行下一個任務(wù),這個等待時間片的長短直接影響了用戶對應(yīng)用的滿意程度。這才是對用戶有真正的意義的“響應(yīng)時間”,Apdex把完成這樣一個任務(wù)所用的時間長短稱為應(yīng)用的“響應(yīng)性”。
基于“響應(yīng)性”,Apdex定義了3個用戶滿意度區(qū)間:
滿意: 這樣的響應(yīng)時間讓用戶感到很愉快,例如少于3秒鐘。
容忍: 慢了一點,但還可以接受,繼續(xù)這一應(yīng)用過程,例如3~12秒。
失望: 太慢了,受不了了,用戶決定放棄這個應(yīng)用,例如超過12秒。
“滿意”、“容忍”、“失望”這三個區(qū)間通過響應(yīng)時間數(shù)值“T”來劃分,T值代表著用戶對應(yīng)用性能滿意的響應(yīng)時間界限或者說是“門檻”(Threshold),也就是***個區(qū)間“滿意”的底線,如3秒,滿意區(qū)間就是0~3秒;響應(yīng)時間超過T值用戶就有些不滿了,下一個區(qū)間“容忍”的界限值則是T和4T,即3~12秒之間為容忍區(qū)間;響應(yīng)時間再長用戶就開始考慮放棄了,***一個區(qū)間“失望”的響應(yīng)時間則大于4T,即多于12秒。
之后,Apdex對應(yīng)用中發(fā)生的任務(wù)進(jìn)行采樣,并且按其響應(yīng)時間把采樣劃分到相應(yīng)的滿意度區(qū)間,計數(shù),再用一個公式計算Apdex指數(shù):
實際上,這個公式的意義在于:
一個滿意樣本得分為:1
一個容忍樣本得分為:0.5
一個失望樣本得分為:0
因此公式也可以寫成:
Apdex指數(shù) =(1 × 滿意樣本 + 0.5 × 容忍樣本)÷ 樣本總數(shù)
這樣,采樣結(jié)果被量化為一個0到1之間的數(shù)值即“Apdex指數(shù)”,0代表沒有滿意用戶,1則代表所有用戶都滿意。經(jīng)過統(tǒng)計,Apdex把這個數(shù)值與用戶滿意程度細(xì)化對應(yīng),如下圖所示,對于應(yīng)用性能的Apdex評分與用戶的體驗緊密關(guān)聯(lián),為管理者提供了一種通過應(yīng)用性能量化值來評估用戶滿意度的方法。
若對Apdex感興趣,可以訪問網(wǎng)站www.apdex.org獲得更多信息。
WildPackets遇上Apdex
與其說WildPackets遇上Apdex,到不如說WildPackets“預(yù)謀”了與Apdex的相遇。事實上,WildPackets正是Apdex聯(lián)盟的創(chuàng)始機構(gòu)之一?,F(xiàn)在,它旗下的所有系列產(chǎn)品,OmniAnalysis Platform、AiroPeek、EtherPeek針對網(wǎng)絡(luò)上運行的應(yīng)用,均提供行業(yè)標(biāo)準(zhǔn)的Apdex評分。
可以看到,在專家系統(tǒng)的統(tǒng)計里多出了一列“Apdex”,它是OmniPeek通過抓包分析對網(wǎng)絡(luò)上運行的應(yīng)用計算出的Apdex指數(shù)。在下面的截圖中,Web應(yīng)用得分為0.89,用戶對此應(yīng)用應(yīng)該感到還不錯(好);IM(即時消息)應(yīng)用和TELNET應(yīng)用得分分別為0.73和0.77,用起來感覺就一般了,不太滿意,但是還可以接受。
Apdex在WildPackets的產(chǎn)品里如何工作?
在事件發(fā)現(xiàn)設(shè)置窗口(Expert EventFinder Settings)里可以看到,專家系統(tǒng)的事件里多了三個Apdex事件:
Apdex Score – Client Too Low
Apdex Task Ended – Tolerating User
Apdex Task Ended – Frustrated User
其中***個事件的觸發(fā)條件對應(yīng)著Apdex得分,后兩個事件的觸發(fā)條件對應(yīng)著Apdex任務(wù)(Task)的用戶滿意度區(qū)間:
對于這三個事件,當(dāng)然是基于Apdex模型的,在WildPackets里Apdex的T值被稱為“Apdex Threshold Duration”,默認(rèn)為4.0秒,可以根據(jù)需求在事件發(fā)現(xiàn)設(shè)置窗口里改變這個值。例如,評估一個即時交易的應(yīng)用,用戶對響應(yīng)時間要求較高,這個T值可以設(shè)置為3或者更?。辉u估一個E – mail的應(yīng)用,T值則可以設(shè)置的稍微大一些,比如8秒。
對于事件“Tolerating User”和“Frustrated User”,觸發(fā)機制分別是被采樣任務(wù)的響應(yīng)時間達(dá)到“Apdex Threshold Duration”的1~4倍和4倍以上。
對于事件“Apdex Score – Client Too Low”,除了可以設(shè)置“Apdex Threshold Duration”以外,還可以設(shè)置“Apdex Score Value”,它默認(rèn)為0.5。這是它的觸發(fā)條件,當(dāng)Apdex的評分低于這個值時,此事件被觸發(fā)。
抓包開始后,OmniPeek對在應(yīng)用中產(chǎn)生的任務(wù)進(jìn)行采樣,若采樣結(jié)果觸發(fā)了某一Apdex事件,那么在Event Summary中會產(chǎn)生一條Apdex事件記錄。
對于網(wǎng)絡(luò)中的一個應(yīng)用,當(dāng)采樣數(shù)量達(dá)到10個,OmniPeek就會根據(jù)公式計算出這個應(yīng)用的Apdex的得分。
Apdex帶來的是一種新的標(biāo)準(zhǔn),一種容易讓所有人認(rèn)可的應(yīng)用性能評估方式。管理者通過Apdex指數(shù)可以立即評估出網(wǎng)絡(luò)中應(yīng)用的用戶滿意度,應(yīng)用的性能不再只是簡單的快或者慢,也不再無規(guī)矩可遵循,這有些像酒店的***評定,標(biāo)準(zhǔn)是統(tǒng)一的。只是在網(wǎng)絡(luò)世界中,如果某個應(yīng)用達(dá)不到“五***”,那么你就要看看哪里出了什么問題了。