定義
性能瓶頸實際上就是一個軟體的性能缺陷 ,那我們如何最通俗的理解“性能瓶頸”。
性能瓶頸
硬體
主要指的是CPU、RAM方面的問題。
例如,
在進行軟體需求分析、概要設計時,確定了在資料庫伺服器上需要6個CPU、12G記憶體,但是在測試時,發現CPU的持續利用率超過95%,這時可以認為在硬體上出現了性能瓶頸。
套用軟體
一般指的是套用伺服器、WEB伺服器等套用軟體,還包括資料庫系統。
例如,
在WEBLogic平台上配置了JDBC連線池的參數,最大連線數為50,最小連線數為5,增加量為10。
在測試時發現,當負載增加時,現有的連線數不足,系統會動態生成10個新的連線數,這樣導致了交易處理的回響時間大大的增加。這時可以認為在套用軟體上出現了性能瓶頸。
應用程式
一般指的是開發人員新開發出來的應用程式。
例如,
用Java或者C開發出來的部署在套用伺服器上用於用戶交易請求處理的應用程式。
例如,
某個開發員開發了一個繳費處理程式,在測試時發現,
這個繳費處理程式在處理用戶發過來的並發繳費請求時,只能串列處理,無法並行處理,導致繳費交易的處理回響時間非常長,這時可以認為在應用程式上出現了性能瓶頸。
作業系統
一般指的是Windows、Unix、Linux這些作業系統。
例如,
在windows系統中,虛擬記憶體設定的不合理,都指定為C驅提供虛擬記憶體,在測試時發現當出現物理記憶體不足時,虛擬記憶體的交換效果非常不理想,導致交易的回響時間大大增加。這時可以認為在作業系統上出現了性能瓶頸。
網路設備
一般指的是防火牆、動態負載均衡器、交換機等設備。
例如,
在動態負載均衡器上設定了動態分發負載的機制,當發現某個套用伺服器上的硬體資源已經到達極限時,動態負載均衡器將後續的交易請求傳送到其它負載較輕的套用伺服器上。
在測試時發現,動態負載均衡機制沒有起到相應的作用, 這時可以認為在網路設備上出現了性能瓶頸。