溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

一次真實(shí)項(xiàng)目性能測(cè)試與調(diào)優(yōu)的總結(jié)

發(fā)布時(shí)間:2020-06-18 20:40:15 來(lái)源:網(wǎng)絡(luò) 閱讀:4014 作者:小強(qiáng)測(cè)試 欄目:軟件技術(shù)

以下內(nèi)容來(lái)自小強(qiáng)測(cè)試品牌培訓(xùn)班學(xué)員作品


現(xiàn)象

因?yàn)楣拘枰獙?duì)系統(tǒng)進(jìn)行壓測(cè),因此使用LR對(duì)網(wǎng)站的注冊(cè)業(yè)務(wù)進(jìn)行壓力測(cè)試,在并發(fā)量為7時(shí),出現(xiàn)了以下大量的報(bào)錯(cuò):

一次真實(shí)項(xiàng)目性能測(cè)試與調(diào)優(yōu)的總結(jié)

請(qǐng)請(qǐng)點(diǎn)擊此處輸入圖片描述

分析與解決

首先,解決出現(xiàn)最多的27796報(bào)錯(cuò),在嘗試修改注冊(cè)表中

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters的兩個(gè)鍵值:

TcpTimedWaitDelay --- 1;MaxUserPort ---- 65534;將端口等待時(shí)間調(diào)小,最大可用端口調(diào)大,再次運(yùn)行LR不再報(bào)27796錯(cuò)誤;

小強(qiáng)點(diǎn)評(píng):

很多朋友遇到錯(cuò)誤的時(shí)候就懵逼了,完全不知道干啥了,各種十萬(wàn)個(gè)為什么。而我一直強(qiáng)調(diào)有錯(cuò)誤不怕,有100個(gè)錯(cuò)誤也不怕,我們最簡(jiǎn)單的原則就是解決那個(gè)影響大的。

其次,針對(duì)大量的503報(bào)錯(cuò),首先查看了系統(tǒng)報(bào)錯(cuò)日志,日志顯示為:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure,這時(shí)想到小強(qiáng)老師上課講的,正好和這個(gè)類(lèi)似,于是調(diào)整和timeout相關(guān)的參數(shù)。重啟mysql后再次運(yùn)行場(chǎng)景,還是存在大量503錯(cuò)誤,查找系統(tǒng)日志還是報(bào)相同的錯(cuò)誤。

小強(qiáng)點(diǎn)評(píng):

此類(lèi)型錯(cuò)誤課上講過(guò),本學(xué)員很好的聯(lián)想到了并嘗試解決。知識(shí)根本不在乎多少,而在于是否系統(tǒng)化,學(xué)很多東西但根本沒(méi)有建立系統(tǒng)化的結(jié)構(gòu)p用都木有!此處調(diào)整后并沒(méi)有太好的效果。這時(shí)候很多朋友又會(huì)十萬(wàn)個(gè)為什么了,其實(shí)大可不必。性能測(cè)試好玩的地方就是這樣,需要你慢慢的來(lái)分析的,一下就搞定還玩?zhèn)€啥

實(shí)在木有頭緒,詢問(wèn)小強(qiáng)老師后,更改了tomcat的配置,在配置文件中增加參數(shù):

minEvictableIdleTimeMillis、numTestsPerEvictionRun、testOnBorrow等并嘗試進(jìn)行調(diào)整設(shè)置之后

不再報(bào)鏈接失敗錯(cuò)誤;

小強(qiáng)點(diǎn)評(píng):

很多人碰到多個(gè)問(wèn)題時(shí)候就不會(huì)分析了,即使會(huì),分析一個(gè)之后解決不了就放棄了。凡事都有方法可循,我們太重視技術(shù)而忽略了方法和思維,這也是為什么復(fù)雜工作只有少數(shù)人可以干的原因之一。而這里我也是根據(jù)分層思維提供的指導(dǎo),具體還是本學(xué)員理解并解決了,必須點(diǎn)贊!我一直覺(jué)得教人不單單是教技術(shù),而更要教做這個(gè)事情的方法思維,這才是有價(jià)值的。

正當(dāng)高興之余,好景不長(zhǎng),一不小心在nginx中看到了這樣一個(gè)錯(cuò)誤:limiting connections by zone "addr", client:..............,這里理解是同一個(gè)ip被限制了鏈接,打開(kāi)nginx的配置發(fā)現(xiàn)里面確實(shí)存在著限制參數(shù):limit_conn_zone $limit zone=addr:1m; 這個(gè)參數(shù)是限制同一IP對(duì)系統(tǒng)進(jìn)行多次請(qǐng)求,但是壓力機(jī)是一臺(tái)機(jī)子,所以肯定會(huì)報(bào)錯(cuò),在壓力測(cè)試時(shí)可以將此處都注釋掉,比較重要的一點(diǎn)是,不僅要注釋掉這一句配置,需要將server區(qū)中和這個(gè)配置有關(guān)的limit配置都注釋掉后重啟nginx;

一次真實(shí)項(xiàng)目性能測(cè)試與調(diào)優(yōu)的總結(jié)

運(yùn)行LR不再報(bào)503的錯(cuò)誤;高并發(fā)下事物通過(guò)率也是百分百。那是我感動(dòng)的淚水。。。

小強(qiáng)點(diǎn)評(píng):

通過(guò)引導(dǎo)學(xué)會(huì)了利用關(guān)鍵信息進(jìn)行排查分析,非常贊,并能學(xué)一通百,進(jìn)步很大,再次點(diǎn)贊。很多時(shí)候老師是扮演的是一個(gè)引導(dǎo)者,并不是萬(wàn)能的神,更多的其實(shí)還是靠大家自己的修行才行。

之后還在壓測(cè)中發(fā)現(xiàn)個(gè)問(wèn)題,

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException大概和開(kāi)發(fā)聊了一下,應(yīng)該是注冊(cè)業(yè)務(wù)涉及很多表,表里可能有設(shè)置外鍵,開(kāi)發(fā)排查之后解決掉了,現(xiàn)在基本都非常穩(wěn)定啦

小強(qiáng)點(diǎn)評(píng):

不恥下問(wèn)是最腦殘的雞湯,這句雞湯害了多少人失去了主動(dòng)思考和解決問(wèn)題的能力?我想大家都心知肚明。遇到問(wèn)題要學(xué)會(huì)自己思考并嘗試,之后可以在去探討帶著你的思想。除此之外,現(xiàn)在是團(tuán)隊(duì)合作,每個(gè)人都有各自的擅長(zhǎng),不會(huì)的不要去較真,找會(huì)的人幫忙在學(xué)習(xí),別太死板。此處學(xué)員發(fā)現(xiàn)問(wèn)題并和開(kāi)發(fā)協(xié)商之后解決,非常好!擅長(zhǎng)協(xié)作是每個(gè)測(cè)試工程師必備的技能也是最重要的!


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI