導致效能問題的常見情況

2022-08-23 21:36:14 字數 1201 閱讀 6354

下面列出一些導致效能問題的常見情況.

區分效能問題的乙個重要指標是cpu的利用率.

總結**

cpu利用率 \ 負載低正常

高低資源爭用, 資源被執行緒長時間占有, 導致所有工作執行緒都處於等待狀態, 導致cpu使用率低.

正常都正常, 只是響應時間總比設計中的響應時間慢一點點, 那麼很可能是在某乙個細節上的優化不夠. 如不**中頻繁地使用正規表示式,而正規表示式的效率又無法達到預期的效果, 整體效能就會下降. 這類問題很難解決, 往往需要通過分析log檔案來確定到底哪乙個細節比較慢. 乙個有效的profiler程式往往能夠起到事半功倍的效果. 

都正常, 看dump發現工作執行緒都在等待資料庫請求的返回, 那麼檢查資料庫伺服器的效能問題, 看是資料庫太忙還是有資料庫的死鎖.

高資源爭用, 資源只被短時間擁有. 系統花費大量cpu時間進行執行緒切換和排程. 導致cpu使用率高, 且波動頻繁

死迴圈或輪詢. 解決辦法是通過dump檔案檢查高cpu執行的是些什麼**, 是否總在乙個迴圈體中無法結束

如果負載下降時, 效能隨之恢復正常, 可以說明是負載超越了程式硬體系統的承受能力. 解決方法是公升級硬體或新增負載均衡的伺服器節點.

摘自下面列出一些導致效能問題的常見情況.

區分效能問題的乙個重要指標是cpu的利用率.

總結**

cpu利用率 \ 負載低正常

高低資源爭用, 資源被執行緒長時間占有, 導致所有工作執行緒都處於等待狀態, 導致cpu使用率低.

正常都正常, 只是響應時間總比設計中的響應時間慢一點點, 那麼很可能是在某乙個細節上的優化不夠. 如不**中頻繁地使用正規表示式,而正規表示式的效率又無法達到預期的效果, 整體效能就會下降. 這類問題很難解決, 往往需要通過分析log檔案來確定到底哪乙個細節比較慢. 乙個有效的profiler程式往往能夠起到事半功倍的效果. 

都正常, 看dump發現工作執行緒都在等待資料庫請求的返回, 那麼檢查資料庫伺服器的效能問題, 看是資料庫太忙還是有資料庫的死鎖.

高資源爭用, 資源只被短時間擁有. 系統花費大量cpu時間進行執行緒切換和排程. 導致cpu使用率高, 且波動頻繁

死迴圈或輪詢. 解決辦法是通過dump檔案檢查高cpu執行的是些什麼**, 是否總在乙個迴圈體中無法結束

如果負載下降時, 效能隨之恢復正常, 可以說明是負載超越了程式硬體系統的承受能力. 解決方法是公升級硬體或新增負載均衡的伺服器節點.

摘自

SWAP導致的效能問題

db維護過程中,我們常說的使用太多swap會導致效能問題,原因是 當應用程式要請求新的記憶體頁的時候,如果已經沒有足夠的物理記憶體,就會把目前物理記憶體中的一部分空間釋放出來,以供當前執行的程式使用。這部分被釋放的空間可能屬於某乙個程式,並且所謂的釋放,是把這部分記憶體頁存放到swap空間。如果這個...

導致Spring事務失效,常見的情況有哪些

未啟用spring事務管理功能 方法不是public型別的 資料來源未配置事務管理器 自身呼叫問題 異常型別錯誤 異常被吞了 業務和spring事務 必須在乙個執行緒中 1.1 未啟用spring事務管理功能 enabletransactionmanagement 註解用來啟用spring事務自動管...

導致索引失效的情況

1 最好全值匹配 索引怎麼建我怎麼用。2 最佳左字首法則 如果索引了多列,要遵守最左字首法則。指的是查詢要從索引的最左前列開始並且不跳過索引中的列。3 不在索引列上做任何操作 計算,函式,自動或者手動 型別裝換 會導致索引失效而導致全表掃瞄。mysql自帶api函式操作,如 left等 4 儲存引擎...