壓力測試詳解

壓力測試

壓力測試考察當(dāng)前軟硬件環(huán)境下系統(tǒng)所能承受的最大負(fù)荷并幫助找出系統(tǒng)瓶頸所在。壓測都 是為了系統(tǒng)在線上的處理能力和穩(wěn)定性維持在一個(gè)標(biāo)準(zhǔn)范圍內(nèi)父阻,做到心中有數(shù)愈涩。

使用壓力測試,我們有希望找到很多種用其他測試方法更難發(fā)現(xiàn)的錯(cuò)誤加矛。有兩種錯(cuò)誤類型是: 內(nèi)存泄漏履婉,并發(fā)與同步。

有效的壓力測試系統(tǒng)將應(yīng)用一下這些關(guān)鍵條件:重復(fù)斟览、并發(fā)毁腿、量級(jí)、隨機(jī)變化苛茂。

性能指標(biāo)

  • 響應(yīng)時(shí)間(Response Time: RT)

    相應(yīng)時(shí)間是指用戶從客戶端發(fā)起一個(gè)請(qǐng)求開始已烤,到客戶端接收到從服務(wù)器端返回的響應(yīng)結(jié)束,整個(gè)過程所耗費(fèi)的時(shí)間妓羊。

  • HPS(Hits Per Second) :每秒點(diǎn)擊次數(shù)胯究,單位是次/秒。

  • TPS(Transaction per Second):系統(tǒng)每秒處理交易數(shù)躁绸,單位是筆/秒裕循。

  • QPS(Query per Second):系統(tǒng)每秒處理查詢次數(shù),單位是次/秒净刮。

    對(duì)于互聯(lián)網(wǎng)業(yè)務(wù)中剥哑,如果某些業(yè)務(wù)有且僅有一個(gè)請(qǐng)求連接,那么 TPS=QPS=HPS庭瑰,一 般情況下用 TPS 來衡量整個(gè)業(yè)務(wù)流程星持,用 QPS 來衡量接口查詢次數(shù),用 HPS 來表 示對(duì)服務(wù)器單擊請(qǐng)求弹灭。

  • 無論 TPS督暂、QPS、HPS,此指標(biāo)是衡量系統(tǒng)處理能力非常重要的指標(biāo)穷吮,越大越好逻翁,根據(jù)經(jīng) 驗(yàn),一般情況下:

    金融行業(yè):1000TPS~50000TPS捡鱼,不包括互聯(lián)網(wǎng)化的活動(dòng)

    保險(xiǎn)行業(yè):100TPS~100000TPS八回,不包括互聯(lián)網(wǎng)化的活動(dòng)

    制造行業(yè):10TPS~5000TPS

    互聯(lián)網(wǎng)電子商務(wù):10000TPS~1000000TPS

    互聯(lián)網(wǎng)中型網(wǎng)站:1000TPS~50000TPS

    互聯(lián)網(wǎng)小型網(wǎng)站:500TPS~10000TPS

  • 最大響應(yīng)時(shí)間(Max Response Time) 指用戶發(fā)出請(qǐng)求或者指令到系統(tǒng)做出反應(yīng)(響應(yīng)) 的最大時(shí)間。

  • 最少響應(yīng)時(shí)間(Mininum ResponseTime) 指用戶發(fā)出請(qǐng)求或者指令到系統(tǒng)做出反應(yīng)(響 應(yīng))的最少時(shí)間驾诈。

  • 90%響應(yīng)時(shí)間(90% Response Time) 是指所有用戶的響應(yīng)時(shí)間進(jìn)行排序缠诅,第 90%的響應(yīng)時(shí)間。

  • 從外部看乍迄,性能測試主要關(guān)注如下三個(gè)指標(biāo)

    吞吐量:每秒鐘系統(tǒng)能夠處理的請(qǐng)求數(shù)管引、任務(wù)數(shù)。

    響應(yīng)時(shí)間:服務(wù)處理一個(gè)請(qǐng)求或一個(gè)任務(wù)的耗時(shí)闯两。

    錯(cuò)誤率:一批請(qǐng)求中結(jié)果出錯(cuò)的請(qǐng)求所占比例褥伴。

JMeter壓測

壓力測試之JMeter.png

JMeter上 ThreadGroup 中線程組參數(shù)詳解

  • Number of Threads(users)線程數(shù):虛擬用戶數(shù)。一個(gè)虛擬用戶占用一個(gè)進(jìn)程或線程漾狼。設(shè)置多少虛擬用戶數(shù)在這里 也就是設(shè)置多少個(gè)線程數(shù)重慢。

  • Ramp-up period(seconds)準(zhǔn)備時(shí)長:設(shè)置的虛擬用戶數(shù)需要多長時(shí)間全部啟動(dòng)。如果線程數(shù)為 10逊躁,準(zhǔn)備時(shí)長為 2似踱,那么需要 2 秒鐘啟動(dòng) 10 個(gè)線程,也就是每秒鐘啟動(dòng) 5 個(gè)線程稽煤。

  • Loop Count 循環(huán)次數(shù):每個(gè)線程發(fā)送請(qǐng)求的次數(shù)屯援。如果線程數(shù)為 10念脯,循環(huán)次數(shù)為 100狞洋,那么每個(gè)線 程發(fā)送 100 次請(qǐng)求÷痰辏總請(qǐng)求數(shù)為 10*100=1000 吉懊。如果勾選了“infinite 永遠(yuǎn)”,那么所有線程會(huì) 一直發(fā)送請(qǐng)求假勿,一到選擇停止運(yùn)行腳本借嗽。

  • Delay Thread creation until needed:直到需要時(shí)延遲線程的創(chuàng)建。

  • 調(diào)度器:設(shè)置線程組啟動(dòng)的開始時(shí)間和結(jié)束時(shí)間(配置調(diào)度器時(shí)转培,需要勾選循環(huán)次數(shù)為永遠(yuǎn))

  • 持續(xù)時(shí)間(秒):測試持續(xù)時(shí)間恶导,會(huì)覆蓋結(jié)束時(shí)間

  • 啟動(dòng)延遲(秒):測試延遲啟動(dòng)時(shí)間勉失,會(huì)覆蓋啟動(dòng)時(shí)間

聚合報(bào)告

壓力測試之JMeter聚合報(bào)告.png
  • Label:請(qǐng)求名稱艾栋,自己定義的

  • Sample:這次測試中一共發(fā)出了多少個(gè)請(qǐng)求,如果模擬20個(gè)用戶,每個(gè)用戶迭代20次全蝶,那么就是400(未設(shè)置持續(xù)運(yùn)行時(shí)間)螟蝙,如果設(shè)置了持續(xù)運(yùn)行時(shí)間葡秒,運(yùn)行時(shí)間越長斯入,這個(gè)數(shù)值就越大

  • Average:平均響應(yīng)時(shí)間,單位ms——默認(rèn)情況下是單個(gè) Request 的平均響應(yīng)時(shí)間蕉拢,當(dāng)使用了 Transaction Controller 時(shí)特碳,也可以以Transaction 為單位顯示平均響應(yīng)時(shí)間

  • Median:中位數(shù)的響應(yīng)時(shí)間,也就是 50% 用戶的響應(yīng)時(shí)間

  • 90% 95% 99% Line:90% 95% 99% 用戶的響應(yīng)時(shí)間晕换,未超過這個(gè)值

  • Min:最小響應(yīng)時(shí)間

  • Maximum:最大響應(yīng)時(shí)間

  • Error %:本次測試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)

  • Throughput:吞吐量——默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)(Request per Second)午乓,當(dāng)使用了 Transaction Controller 時(shí),也可以表示類似 LoadRunner 的 Transaction per Second 數(shù)

  • Received KB/sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量闸准,相當(dāng)于LoadRunner中的Throughput/Sec

  • Sent KB/sec:每秒發(fā)送的數(shù)據(jù)量

結(jié)果分析

  • 有錯(cuò)誤率需要確認(rèn)益愈,確定是否允許錯(cuò)誤的發(fā)生或者錯(cuò)誤率允許在多大的范圍內(nèi);

  • Throughput 吞吐量每秒請(qǐng)求的數(shù)大于并發(fā)數(shù)恕汇,則可以慢慢的往上面增加腕唧;若在壓測的機(jī) 器性能很好的情況下,出現(xiàn)吞吐量小于并發(fā)數(shù)瘾英,說明并發(fā)數(shù)不能再增加了枣接,可以慢慢的 往下減,找到最佳的并發(fā)數(shù)缺谴;

  • 壓測結(jié)束但惶,登陸相應(yīng)的 web 服務(wù)器查看 CPU 等性能指標(biāo),進(jìn)行數(shù)據(jù)的分析;

  • 最大的 tps湿蛔,不斷的增加并發(fā)數(shù)膀曾,加到 tps 達(dá)到一定值開始出現(xiàn)下降,那么那個(gè)值就是 最大的 tps阳啥。

  • 最大的并發(fā)數(shù):最大的并發(fā)數(shù)和最大的 tps 是不同的概率添谊,一般不斷增加并發(fā)數(shù),達(dá)到 一個(gè)值后察迟,服務(wù)器出現(xiàn)請(qǐng)求超時(shí)斩狱,則可認(rèn)為該值為最大的并發(fā)數(shù)。

  • 壓測過程出現(xiàn)性能瓶頸扎瓶,若壓力機(jī)任務(wù)管理器查看到的 cpu所踊、網(wǎng)絡(luò)和 cpu 都正常,未達(dá) 到 90%以上概荷,則可以說明服務(wù)器有問題秕岛,壓力機(jī)沒有問題。

  • 影響性能考慮點(diǎn)包括:

    • 數(shù)據(jù)庫

    • 應(yīng)用程序

    • 中間件(tomcat、nginx)

    • 網(wǎng)絡(luò)和操作系統(tǒng)等方面

  • 首先考慮自己的應(yīng)用屬于 CPU 密集型還是 IO 密集型

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末继薛,一起剝皮案震驚了整個(gè)濱河市修壕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惋增,老刑警劉巖叠殷,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件改鲫,死亡現(xiàn)場離奇詭異诈皿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)像棘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門稽亏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缕题,你說我怎么就攤上這事截歉。” “怎么了烟零?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵瘪松,是天一觀的道長。 經(jīng)常有香客問我锨阿,道長宵睦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任墅诡,我火速辦了婚禮壳嚎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘末早。我一直安慰自己烟馅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布然磷。 她就那樣靜靜地躺著郑趁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪姿搜。 梳的紋絲不亂的頭發(fā)上寡润,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音痪欲,去河邊找鬼悦穿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛业踢,可吹牛的內(nèi)容都是我干的栗柒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼瞬沦!你這毒婦竟也來了太伊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤逛钻,失蹤者是張志新(化名)和其女友劉穎僚焦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曙痘,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芳悲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了边坤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片名扛。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖茧痒,靈堂內(nèi)的尸體忽然破棺而出肮韧,到底是詐尸還是另有隱情,我是刑警寧澤旺订,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布弄企,位于F島的核電站,受9級(jí)特大地震影響区拳,放射性物質(zhì)發(fā)生泄漏拘领。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一劳闹、第九天 我趴在偏房一處隱蔽的房頂上張望院究。 院中可真熱鬧,春花似錦本涕、人聲如沸业汰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽样漆。三九已至,卻和暖如春晦闰,著一層夾襖步出監(jiān)牢的瞬間放祟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工呻右, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跪妥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓声滥,卻偏偏與公主長得像眉撵,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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