壓測關注指標

我們經(jīng)常需要對程序進行壓測段直,怎么壓才合適呛谜?壓到什么樣才說明應用達到了性能瓶頸?用什么指標來衡量才合適荞下?一些指標異常又說明了什么伶选?我們又該怎么樣去查問題?這些都是壓測時我們需要關注的尖昏。

按照大項劃分仰税,個人將性能指標分為下面幾個大項:

一、基本性能指標 QPS 和 RT

這是測試過程中最基本的指標抽诉,也是我們主要需要關注的兩項陨簇。QPS 是指系統(tǒng)每秒處理的請求個數(shù)(query per second)。RT 指一個請求發(fā)出后系統(tǒng)的響應時間(reaction time)迹淌。區(qū)別下 QPS 和 TPS(Transactions per Second)河绽,他倆很像但是不是一個東西己单。TPS 是指每秒處理的事務數(shù),一個事務是指一個客戶機向服務器發(fā)送請求然后服務器做出反應的過程耙饰。舉個例子比如某個接口里面有很多項操作纹笼,這時往往用 QPS 是不準確的,因為準確來說 QPS 針對的是 Query苟跪,是詢問廷痘,如單獨的數(shù)據(jù)庫讀甚至是寫都可以叫一個詢問,但當接口里有多個操作件已,本質(zhì)上調(diào)用一次產(chǎn)生一次事務笋额,同時里面有許多 Query。所以 QPS 往往會比 TPS 大些拨齐。如果針對應用來說我們調(diào)用一次內(nèi)部邏輯又不可見不知道里面有多少操作鳞陨,這時 TPS 和 QPS 常常區(qū)分不開的,建議用 TPS 來衡量好些瞻惋。

這里還要提到一個重要概念:最佳線程數(shù)量厦滤,是指剛好消耗完服務器瓶頸資源的臨界線程數(shù)。 最佳線程數(shù)和 QPS歼狼、RT 是有一定關系的掏导,這個線程數(shù)需要在壓測過程中不斷地去調(diào)整(一般從小到大來調(diào),剛開始可能10個)羽峰,努力去接近我們設定預期的性能測試極限趟咆。這個線程數(shù)和請求量正比關系,但是一定不要認為線程數(shù)少請求量就小梅屉。一般線程數(shù)設置8-10個左右值纱,QPS 就可以達到 500 多了。舉個例子坯汤,一個線程一秒內(nèi)可以發(fā)送 N 個請求其實也是固定的虐唠,那增加我們的線程個數(shù),比如現(xiàn)在我們有 M 個線程惰聂,那每秒理論上可以發(fā) M*N 個請求疆偿,不考慮應用瓶頸,那應用每秒 QPS 就可以達到 M*N搓幌,當然有瓶頸情況下 QPS 到一定程度就不會再提升了杆故,因為一個應用每秒能處理的請求就那么多,每處理一個請求響應時間 RT 是有限的溉愁,當不斷請求過來產(chǎn)生堆積处铛,響應時間上升了,還會導致 QPS 的下降。

先看看這三者的關系撤蟆,QPS = 1000*線程數(shù)量/RT篙贸。QPS 單位是秒,RT 單位是毫秒枫疆,所以有一個單位換算分子乘以了1000。QPS 和 RT 成反比敷鸦,當超過最佳線程數(shù)息楔,會導致資源競爭加劇,同時響應時間也會增加扒披,QPS 下降值依。

那么問題來了,如何找到最佳線程數(shù)碟案?最土但是最實用的方法是愿险,逐步壓測,不斷地調(diào)整線程數(shù)來觀察系統(tǒng)的負載价说。

二辆亏、數(shù)據(jù)庫指標

很多應用的瓶頸是在數(shù)據(jù)庫指標。比如連接數(shù)鳖目、數(shù)據(jù)庫的操作監(jiān)控等等扮叨。

三、性能指標

性能指標是針對性能機器的领迈,最佳線程數(shù)調(diào)整的監(jiān)控項就是根據(jù)這個指標來的彻磁。這底下有很多東西,羅列一下:CPU使用率狸捅、JVM堆棧使用情況衷蜓、GC/FGC 次數(shù)、Load指標尘喝、網(wǎng)絡延時磁浇。

3.1 CPU 使用率

一般性能測試指標,CPU 使用率小于 75% 比較合適瞧省。通過指令:cat /proc/stat 可以查看扯夭。第一行CPU是所有CPU數(shù)據(jù)總和,CPU0~3表示各個CPU數(shù)據(jù)鞍匾。其中第一列為從系統(tǒng)啟動開始累計到當前時間交洗,用戶態(tài)的CPU時間(單位:jiffies,1 jiffies = 0.01秒)橡淑。

3.2 JVM 堆棧使用情況

對于我們的應用來說构拳,一般會配置 JVM 的,所以對于應用來說,看機器的整體內(nèi)存是沒有意義的置森,我們更要關注的是堆棧的使用情況斗埂,關注點在已用堆信息。

3.3 GC / FGC 次數(shù)

在性能測試過程中不能出現(xiàn)因為FGC 的產(chǎn)生導致響應時間急劇升高的現(xiàn)象凫海,否則壓測是不正確的呛凶。盡量保證 FGC 的出現(xiàn)次數(shù)是0,如果出現(xiàn)看看它的運行時間行贪,要確保是 FGC 產(chǎn)生運行時間足夠短漾稀,否則就可以提Bug了。GC 產(chǎn)生是比較正常的建瘫,也要確保它的產(chǎn)生時間保持在比較低的水平崭捍。

3.4 Load 指標

Load 是 CPU 的負載,它所包含的信息不是 CPU 的使用率狀況啰脚,二是在一段時間內(nèi) CPU 正在處理以及等待CPU處理的進程數(shù)之和的統(tǒng)計信息殷蛇,也就是CPU使用隊列的長度的統(tǒng)計信息。一般測試時它的指標是Load<CPU的核數(shù)*2橄浓。通過指令:cat /proc/loadavg 可以查看粒梦。五個數(shù)字分別是一分鐘平均負載,5分鐘內(nèi)平均負載荸实,15分鐘內(nèi)平均負載谍倦,采樣時刻運行隊列的任務數(shù)目,系統(tǒng)中活躍任務數(shù)目泪勒,最大 pid 值(包括線程)昼蛀。

3.5 網(wǎng)絡延時

常用應用服務器ping數(shù)據(jù)庫,看看數(shù)據(jù)庫延時是多少圆存。

四叼旋、整體測試指標

RT(Response Time)<= 200ms,根據(jù)業(yè)務有所不同沦辙,只讀的可能小于 10ms夫植。

Load 服務器負載 <= CPU Core

CPU <= 75%

壓測失敗率 <= 0.2%

此外還要關注下方法耗時。

作者:FlySheep_ly

鏈接:http://www.reibang.com/p/de1e9f56f61e

來源:簡書

著作權歸作者所有油讯。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權详民,非商業(yè)轉(zhuǎn)載請注明出處。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陌兑,一起剝皮案震驚了整個濱河市沈跨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌兔综,老刑警劉巖饿凛,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狞玛,死亡現(xiàn)場離奇詭異,居然都是意外死亡涧窒,警方通過查閱死者的電腦和手機心肪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纠吴,“玉大人硬鞍,你說我怎么就攤上這事〈饕眩” “怎么了膳凝?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恭陡。 經(jīng)常有香客問我,道長上煤,這世上最難降的妖魔是什么休玩? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮劫狠,結(jié)果婚禮上拴疤,老公的妹妹穿的比我還像新娘。我一直安慰自己独泞,他們只是感情好呐矾,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著懦砂,像睡著了一般蜒犯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荞膘,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天罚随,我揣著相機與錄音,去河邊找鬼羽资。 笑死淘菩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的屠升。 我是一名探鬼主播潮改,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼腹暖!你這毒婦竟也來了汇在?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤脏答,失蹤者是張志新(化名)和其女友劉穎趾疚,沒想到半個月后缨历,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡糙麦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年辛孵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赡磅。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡魄缚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焚廊,到底是詐尸還是另有隱情冶匹,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布咆瘟,位于F島的核電站嚼隘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏袒餐。R本人自食惡果不足惜飞蛹,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灸眼。 院中可真熱鬧卧檐,春花似錦、人聲如沸焰宣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匕积。三九已至盈罐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間闪唆,已是汗流浹背暖呕。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留苞氮,地道東北人湾揽。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像笼吟,于是被迫代替她去往敵國和親库物。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 我們經(jīng)常需要對程序進行壓測贷帮,怎么壓才合適戚揭?壓到什么樣才說明應用達到了性能瓶頸?用什么指標來衡量才合適撵枢?一些指標異常...
    FlySheep_ly閱讀 15,517評論 1 11
  • 簡介 發(fā)壓場景設計執(zhí)行(壓測建模-單系統(tǒng)-類-方法-數(shù)據(jù)存儲/多系統(tǒng)-業(yè)務場景保真)民晒,-> 壓測平臺的實現(xiàn) -> ...
    上山走18398閱讀 954評論 0 0
  • 明確問題 首先我們要確認是哪些性能指標不達到要求精居,或者需要改進 常見的性能指標: 用戶體驗層面 用戶響應時間 就是...
    白面賊閱讀 1,126評論 0 0
  • 系統(tǒng)異常處理指南 摘抄來源:https://mp.weixin.qq.com/s/ClBBFYULE02ZB_43...
    huawangxin閱讀 248評論 0 1
  • 本文始發(fā)自博客:服務端壓測怎么做 博文的內(nèi)容并不都是我原創(chuàng)的,行文思路來源于一次內(nèi)部分享潜必,再結(jié)合網(wǎng)上眾多參考資料總...
    拉丁看雪閱讀 670評論 0 0