性能测试调优篇---未完待续
性能測試調優(yōu)一:
1.首先,看下選測交易的整個走向
純系統(tǒng)內部交易:
選測交易如果是系統(tǒng)內的交易,每一步請求都和系統(tǒng)交互幾次,訪問了幾個數(shù)據(jù)庫,訪問了數(shù)據(jù)庫的那幾張表??
該交易走了那幾臺機器,這幾臺機器的網(wǎng)絡連接情況是什么樣的??這幾臺機器是通過走的是哪些虛擬網(wǎng)卡,走了哪些路由器??帶寬是什么情況??
該交易在這幾臺機器上消耗了多少CPU,內存,及其對磁盤做了多少次的訪問??
從方法層面,從該交易的發(fā)起到結束,起了多少線程,調用了哪些相關的方法以及接口,訪問了哪些表???
跨系統(tǒng)交易:
該交易發(fā)起后,每一步請求在系統(tǒng)內走了幾次,調用了哪些接口,調用了幾次,訪問了哪些數(shù)據(jù)庫以及哪幾張表??
了解了以上內容后,才能準確的把握每個交易的壓力點在哪里
在性能瓶頸分析時,從不同的層次去分析問題可能出現(xiàn)在哪一個具體的位置
2.合理的利用各種監(jiān)控工具
系統(tǒng)資源監(jiān)控,通常通過nmon來監(jiān)控分析
應用層的監(jiān)控,通常通過開源的工具如jprofile? java自帶的jconsole visualvm以及商業(yè)化的軟件如dynatrace
數(shù)據(jù)庫層的監(jiān)控,通常利用數(shù)據(jù)庫本身的DB Snapshot(DB2快照? DB2top? ? Oracle的AWR報告) 或者 Spotlight on? db2? ?oracle 等等
3.仔細檢查系統(tǒng)的各項參數(shù)配置,確保這些參數(shù)在最優(yōu)狀態(tài)
應用線程池
應用的日志級別
數(shù)據(jù)庫連接池
操作系統(tǒng)級別的參數(shù):文件句柄、TCP連接數(shù)等等
各個機器的資源大小是否合理:cpu、內存、磁盤空間、網(wǎng)絡情況等
某些特定應用自帶的一些參數(shù)設置(ESB? 大數(shù)據(jù)平臺等)
發(fā)壓端的機器配置(網(wǎng)路情況、CPU、內存等等)
發(fā)壓腳本的參數(shù)化以及參數(shù)化取值的方式是否合理,發(fā)壓腳本是否本身存在一些bug或者不合理的內容
4.根據(jù)遇到的具體問題發(fā)揮你聰明的大腦,逐層分析,驗證性能瓶頸的懷疑對象,逐個排除
直到找到最終的問題所在
幾種常見的問題分析:
?? 壓力上不去,不管怎么增加用戶,系統(tǒng)的壓力始終維持在一個點,且此時的資源消耗也很少,幾乎可以忽略不記
查看系統(tǒng)日志,看是否有相關報錯信息,如應用線程不足、數(shù)據(jù)庫連接不足的情況,如果存在,調整后驗證問題是否還存在
通常該情況是在某個資源的限制導致了壓力傳導不了后方,當然上述只是個人遇到的情況,也可能是其他原因造成的,需要根據(jù)實際
的情況去具體問題具體分析。
以下幾種在后續(xù)在分析:
隨著壓力的上升,響應時間變長
隨著壓力的上升,TPS出現(xiàn)波動
并發(fā)過程中,大量報錯,交易成功率過低
等等。-------未完待續(xù)
本人技術能力有限,還希望看到本文的大師多多指教,相互學習,共同提高
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2018年8月
?
轉載于:https://www.cnblogs.com/vinnfung/p/9465401.html
總結
以上是生活随笔為你收集整理的性能测试调优篇---未完待续的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java面试170题答案解析(1-20题
- 下一篇: 记一次,jvm 内存溢出