根據應用的不一樣,任何計算機資源都有可能成爲應用的瓶頸,可是有一些是比較常見的:html
一 : 磁盤 I/Ojava
磁盤的讀寫速度遠慢於內存的讀寫速度,系統運行是若是須要等待磁盤I/O的完成,將致使整個系統的性能降低;數據庫
二: CPU性能服務器
應用對CPU的佔用時間不一樣,應用間對CPU的搶佔也將致使系統性能受到影響;網絡
三: 網絡狀態併發
網絡自己存在不肯定性,其讀寫速度可能比磁盤I/O還要慢,因此網絡狀態也可能成爲系統性能的一個瓶頸;高併發
四:異常的處理post
java對異常的捕獲和處理是一項很是消耗資源的操做。性能
五:數據庫讀寫url
當應用可能進行海量數據的讀寫時,數據庫操做將帶來想不到的時間消耗,可能影響整個系統的響應;
六:鎖競爭
在高併發的程序中,對鎖的競爭必將產生很大的上下文切換開銷,對系統形成的性能影響也是不可小覷的;
七:負載承受能力
一個應用可能同時會接收到上百萬的訪問請求,這時應用將面臨巨大的響應壓力,可能致使服務器宕機;
八:內存大小
有時候內存太小可能致使一些操做沒法完成,致使系統崩潰;這時也可能爲了解決內存不足問題採用分步加載資源到內存中,這有致使了磁盤I/O問題;
這篇文章講的也挺詳細的關於影響軟件系統性能的因素總結。