性能調優通俗來講就是對計算機硬件、操作系統和應用有相當深入的了解,調節三者之間的關系,實現整個系統(包括硬件、操作系統、應用)的性能最大化,并能不斷的滿足現有的業務需求。在判定軟件存在性能缺陷和瓶頸之后進行優化,在性能測試中屬于很重要的一個環節。
性能調優主要遵從以下流程:
第一步定位問題:判端是代碼、數據庫及中間件配置、操作系統配置、網絡配置、硬件配置哪個環節是問題來源,只有找準方向才能找到問題;
第二步確定原因,具體到算法、共享鎖、SQL效率低、索引、線程數、等待超時時間、帶寬哪個環節是問題根源,找到問題原因才有可能解決問題;
第三步就是確定優化目標和方案確定,例如提高吞吐量到xxx,縮短響應時間到xxx,提高最大并發到xxx……這一步是根據實際業務模型做出的戰略調整,注意結合實際,切忌異想天開;
第四步就是復測,測試人員使用原來的場景和腳本執行測試,對比測試結果判斷是否達到調優目標,沒有達到目標就要反復測試貼近目標;
最后一步是分析結果,評估目標是否達到和系統性能改善情況,以此來判斷優化調整是否可以結束。
常用調優方法:
限流,通常是限制發送packet的頻率,從而在網絡IO消耗可接受的情況下來發送packget。
內存消耗嚴重的解決方法:
釋放不必要的引用:代碼持有了不需要的對象引用,造成這些對象無法被GC,從而占據了JVM堆內存。(使用ThreadLocal:注意在線程內動作執行完畢時,需執行ThreadLocal.set把對象清除,避免持有不必要的對象引用,使用對象緩存池:創建對象要消耗一定的CPU以及內存,使用對象緩存池一定程度上可以降低JVM堆內存的使用。
軟件測評報告請聯系王經理:18684048962 更多資訊請關注公眾號:軟件測評閑聊站
轉載自網絡