您好,登錄后才能下訂單哦!
以下內容來自小強測試品牌培訓班學員作品
現象
因為公司需要對系統進行壓測,因此使用LR對網站的注冊業務進行壓力測試,在并發量為7時,出現了以下大量的報錯:
首先,解決出現最多的27796報錯,在嘗試修改注冊表中
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters的兩個鍵值:
TcpTimedWaitDelay --- 1;MaxUserPort ---- 65534;將端口等待時間調小,最大可用端口調大,再次運行LR不再報27796錯誤;
小強點評:
很多朋友遇到錯誤的時候就懵逼了,完全不知道干啥了,各種十萬個為什么。而我一直強調有錯誤不怕,有100個錯誤也不怕,我們最簡單的原則就是解決那個影響大的。
其次,針對大量的503報錯,首先查看了系統報錯日志,日志顯示為:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure,這時想到小強老師上課講的,正好和這個類似,于是調整和timeout相關的參數。重啟mysql后再次運行場景,還是存在大量503錯誤,查找系統日志還是報相同的錯誤。
小強點評:
此類型錯誤課上講過,本學員很好的聯想到了并嘗試解決。知識根本不在乎多少,而在于是否系統化,學很多東西但根本沒有建立系統化的結構p用都木有!此處調整后并沒有太好的效果。這時候很多朋友又會十萬個為什么了,其實大可不必。性能測試好玩的地方就是這樣,需要你慢慢的來分析的,一下就搞定還玩個啥
實在木有頭緒,詢問小強老師后,更改了tomcat的配置,在配置文件中增加參數:
minEvictableIdleTimeMillis、numTestsPerEvictionRun、testOnBorrow等并嘗試進行調整設置之后
不再報鏈接失敗錯誤;
小強點評:
很多人碰到多個問題時候就不會分析了,即使會,分析一個之后解決不了就放棄了。凡事都有方法可循,我們太重視技術而忽略了方法和思維,這也是為什么復雜工作只有少數人可以干的原因之一。而這里我也是根據分層思維提供的指導,具體還是本學員理解并解決了,必須點贊!我一直覺得教人不單單是教技術,而更要教做這個事情的方法思維,這才是有價值的。
正當高興之余,好景不長,一不小心在nginx中看到了這樣一個錯誤:limiting connections by zone "addr", client:..............,這里理解是同一個ip被限制了鏈接,打開nginx的配置發現里面確實存在著限制參數:limit_conn_zone $limit zone=addr:1m; 這個參數是限制同一IP對系統進行多次請求,但是壓力機是一臺機子,所以肯定會報錯,在壓力測試時可以將此處都注釋掉,比較重要的一點是,不僅要注釋掉這一句配置,需要將server區中和這個配置有關的limit配置都注釋掉后重啟nginx;
運行LR不再報503的錯誤;高并發下事物通過率也是百分百。那是我感動的淚水。。。
小強點評:
通過引導學會了利用關鍵信息進行排查分析,非常贊,并能學一通百,進步很大,再次點贊。很多時候老師是扮演的是一個引導者,并不是萬能的神,更多的其實還是靠大家自己的修行才行。
之后還在壓測中發現個問題,
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException大概和開發聊了一下,應該是注冊業務涉及很多表,表里可能有設置外鍵,開發排查之后解決掉了,現在基本都非常穩定啦
小強點評:
不恥下問是最腦殘的雞湯,這句雞湯害了多少人失去了主動思考和解決問題的能力?我想大家都心知肚明。遇到問題要學會自己思考并嘗試,之后可以在去探討帶著你的思想。除此之外,現在是團隊合作,每個人都有各自的擅長,不會的不要去較真,找會的人幫忙在學習,別太死板。此處學員發現問題并和開發協商之后解決,非常好!擅長協作是每個測試工程師必備的技能也是最重要的!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。