服務器壓力上不去原因分析


百兆的帶寬在理論上1秒鍾可以傳輸12.5MB的數據,但是考慮到干擾因素每秒傳輸只要超過10MB就比較正常啦。千兆帶寬每秒傳輸是100M。

http://www.cnblogs.com/candle806/archive/2011/04/02/2003828.html

通過分析,處於峰值只有網絡帶寬,為90%以上,而對比此處的吞吐率值恰為95MB/s左右,1Gbps的網絡帶寬傳輸速率為128MB/s,從而表明由於吞吐量過大,占用了大量的帶寬資源,導致后續的虛擬用戶無法得到服務器的資源,而致使請求被拒絕。從最后的頁面響應時間來看,系統的壓力並沒有被承接到頁面上,而是由於過大的吞吐量吞噬了網絡帶寬,導致最終無法有效地完成測試任務。

http://www.xinfengit.com/200907/1848581.html

在性能測試過程中,經常會遇到數據庫CPU資源利用率上不去

1、網絡帶寬問題

1.1被測試環境和lr用機都在百兆帶寬中

 

1.2被測試環境和lr用機不在同一帶寬中,被測試環境在千兆帶寬環境中,lr用機在百兆帶寬環境中

 

2.Controller機器在百兆帶寬中,被測試環境和lr壓力發生器在千兆或以上帶寬中

可以查看被測試環境中的交換機的傳輸速率是100Mbps還是1000Mbps。

TP-LINK TL-SF1016,傳輸速率:10/100Mbps

3、數據量問題

3.1網絡沒有問題,吞吐量甚至超過100M,但是后台服務器資源還是比較低。

數據庫中基礎數據量比較少,幾乎是空的數據庫,這樣數據庫CPU利用率也上不去

3.2數據庫中的數據量雖然比較多(100萬筆以上),但是在性能測試時真正用到的用戶所關聯的流水比較少,或者根本沒有關聯上流水。比如:150多萬的交易流水,目前用戶表有500個用戶號,其中有200個用戶號關聯到了流水表中的數據,而測試時用到了50個用戶。數據庫CPU沒有上去,先要排除網絡和數據量的限制,然后要查看這50個並發用戶是否都關聯到了流水表上?每個客戶號關聯了多少流水(大於2000,小於10萬,太大的會不現實)?

 

4、JDBC連接池限制

以上網絡和數據量都沒有問題,則會考慮交易到數據庫的連接數是否有限制,和數據庫操作的那些交易的SQL請求根本沒有到達數據庫服務器。我們可以通過中間件的控制台查看JDBC的最大容量(此連接緩沖池可容納的最大物理連接數)

4.1數據庫JDBC連接池限制,設置的本來就小,weblogic默認最大容量為50。

 

4.2如果一台應用服務器上是多路進行部署的話,查看各路JDBC連接是否均衡

 

5、應用程序問題

處理能力真的達到了極限==

 

6、性能測試腳本和數據問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM