2011-12-07 42 views
-3

我正在開發基於SAAS的java產品,使用Spring 3框架和使用hibernate帶註釋。java saas產品很慢

該網站是非常slow.I使用ApacheTomcat服務器6.0.26

可有人電話我什麼樣的變化,我應該做什麼呢?

在此先感謝!

+0

配置文件和找到慢點? – sarnold

+0

對不起。我已經收到你的sarnold了。 我應該在哪裏檢查糾正速度.... – Meenakshi

+0

給快速閱讀到[維基百科文章剖析(http://en.wikipedia.org/wiki/Software_profiling),然後找出如何您的應用程序配置文件來找到它的熱點。 – sarnold

回答

1

這可能是多種原因,但我懷疑Apache與它有什麼關係。 可能的原因包括:

  • 未經優化的查詢
  • 數據庫表沒有到需要的地方
  • 數據庫服務器硬件指標是胡扯
  • 您的算法和數據結構的選擇是壞
  • 你正在呼叫數據庫的次數太多(即使它在前一個屏幕上加載了請求數據等)。
  • 你的數據庫配置和緩存可能是錯誤的
  • 您的前端技術,可能會出現問題(JSF慢相比,JSP)

你應該做的第一件事是弄清楚有多少時間每頁呈現花在查詢數據庫,有多少應用程序服務器上。您還應該記錄每個渲染器執行多少次查詢(以及哪些查詢)。然後再減去這兩次,以便在客戶端加載頁面,第三次是將時間輸出到客戶端並在瀏覽器上呈現頁面。

如果在一個查詢數據庫中花費的時間較大,則使用一個數據庫配置,看看DB正在執行長表掃描,並建立索引的存在。如果查詢返回了大量數據,但您只使用了一些數據,請嘗試編寫更具體的查詢。如果由於查詢次數而在數據庫中花費大量時間,則嘗試通過在應用程序服務器上緩存或重新使用數據來減少查詢次數。 如果應用程序服務器花費的時間似乎是問題,則可能需要重新考慮算法和設計選擇。

如果第三部分花費了大量時間 - 在客戶端上傳輸並呈現它,請嘗試優化JavaScript,在靜態內容,CDN等上使用到期標題... 下載並安裝YSlow插拔和使用它來測試你的頁面並按照它的建議。