2011-09-20 62 views
0

4年前,我已經構建了一個仍被一些朋友使用的webapp。該應用程序的問題是,現在它有一個巨大的數據庫,並且加載非常緩慢。我知道這只是我的錯,mysql查詢會遍佈各處(即使在佈局生成時也是如此)。重構舊webapp以獲得速度

ATM我知道一些關於OO的知識。我想在我的舊應用程序中使用這些知識,但是我不知道如何從頭開始重寫所有這些知識。使用MVC爲我的應用程序,在這一刻是非常困難的。

如果你在我的位置,或者如果你有任務來提高我的舊應用程序的速度,你會怎麼做?你有任何提示給我嗎?任何工作場景?

回答

2

這一切都取決於上下文。最好的做法是改變整個應用程序,一次介紹最佳實踐和標準。但是,採用進化方法可能會更好:

1-使用分析工具或負載測試識別應用程序中的主要瓶頸。

2 - 估計重構每個項目所需的工作量。

3 - 識別性能對最終用戶更敏感的頁面。

4 - 根據確定的信息創建任務列表並設置每個項目的優先級。

每次攻擊一個步驟,進行小幅度增量。總是試圖花費80%的時間解決20%以上的關鍵問題。

1

很難給出具體的建議沒有一個具體的問題,但這裏有一些通用的優化/組織技術:

  1. 檔案找到代碼中的熱點
  2. 你提到的MySQL查詢被加載緩慢,嘗試優化他們
  3. 可能移動的數據庫訪問存儲的程序,以幫助模塊化代碼
  4. 查找重複的代碼,並試圖將其一塊每次移動對象