分享發現的一個效能瓶頸問題

大搜車-自娛發表於2012-03-26
1.某個伺服器後臺web假設分為3個部分,第一個部分將使用者資料收集寫成檔案存放硬碟,第二個部分讀檔案,將檔案進行分析,再寫檔案到硬碟,第三個部分讀取檔案進行分析將資料庫寫入資料。
2.現要求測試第3個部分的效能,希望部署多個第3個web應用可以處理更多的資料,將資料處理能力提高。
3.測試方法,部署1臺第3的web,記錄處理時間,資料庫每小時增長的資料量。部署2臺第3的web服務,記錄處理時間,資料庫每小時增長的資料量。
4.發現問題,資料庫每小時的資料增長量沒有明顯提高,發現問題,第3後臺日誌readfiletime的時間過大。
5.分析決斷效能處理瓶頸,部署4臺第3服務仍然發現每小時資料增長量沒有明顯提高,因此斷定Mysql資料處存在瓶頸。readfiletime時間過高,經過監控系統效能各項引數發現IOWAIT時間過高,於是斷定是由於程式頻繁讀取檔案導致效能下降。
6.解決問題,優化mysqlserver引數,對mysql資料庫做分散式處理,多執行緒讀取檔案時間策略改變,將檔案全讀入記憶體然後再擷取,或者過很長一段時間再讀取。
7.由此我的伺服器端的系統效能問題解決。

相關文章