最近定位了關於資料庫相關的效能問題,模組a生成的檔案過快導致資料無法及時入庫的問題
在整個過程中主要吸取了如下經驗:
for迴圈的次數不能太多,否則再小的運算時間也會成倍增長
對資料庫的操作 批量插入時,一定要使用copy from語句,它比你想象的快很多,
乙個50列指標,插入24w資料,用了18s
如果可以,在中盡量把可以合併到一次插入的資料合併到乙個檔案中。
如果乙個列舉特別大的話,請不要輕易使用values方法然後再乙個大的迴圈裡面遍歷。
dbcp+ pool的連線池實現,如果cpu較慢時,那麼會有大量的物件處於正在構建中。
整個連線池的**集中在:org.apache.commons.pool.impl.genericobjectpool.borrowobject() 這個方法。
active + interprocess = all
定位效能問題,常見的工具:
(1)visualvm + jmx
(2)cpu 分析也可以用visualvm
(3)visualvm匯出的執行緒堆疊可以用eclipse的 memory analyzer 開啟。
(4)當visualvm無法匯出堆時,可以試下jconsole,裡面的mbean,com.sun.hotspot裡面有個操作時dumpheap
mysql效能問題定位
使用mysql作為基礎資料庫的應用,可能會遇到一些資料庫方面的效能問題,我們可以通過一些方法進行問題定位。以下介紹可以定位效能問題的四種方法,歡迎拍磚。一 開啟慢查詢日誌 記錄執行查詢時間大於long query time的sql,long query time預設為2s show variable...
mysql效能問題定位
2013 年 8 月 28 日,by 徐旭 所屬分類 資料庫,測試技術.使用mysql作為基礎資料庫的應用,可能會遇到一些資料庫方面的效能問題,我們可以通過一些方法進行問題定位。以下介紹可以定位效能問題的四種方法,歡迎拍磚。一 開啟慢查詢日誌 記錄執行查詢時間大於long query time的sq...
Linux效能優化及效能問題定位
效能優化是什麼?1.1 效能優化就是發揮機器本來的效能 效能的幾個唯度 1.1.1 cpu 命令 vmstat 首先檢查 cpu,cpu 使用率要提公升而不是降低 cpu 空閒並不一定是沒事做,也有可能是鎖或者外部資源瓶頸。命令 top 命令 iostat 命令 free 命令 nicstat 需要...