2013-04-06 166 views
0

我的Web應用程序分解WARApache(靜態內容)和Tomcat(動態內容)通過mod_jk託管。可選地,這個系統有一個ActiveMQ組件,但它目前沒有被使用。提高Web應用程序的性能

據我所知,每個HTTP請求都會碰到Apache。如果它是動態內容請求,Apache將通過mod_jk將請求轉發給Tomcat。爲了完成這個請求,Tomcat將啓動一個新線程來完成這項工作。

我在6核12 GB RAM機器上運行應用程序。

除了使用ActiveMQ組件,我該如何提高系統性能?另外,如果我誤解了Apache和Tomcat的通信方式,請糾正我。

+0

你有問題嗎?或者你只是想尋找樂趣進行優化? – 2013-04-07 15:35:39

+0

有問題。應用程序當前加載速度太慢 – 2013-04-08 12:25:22

+0

有這個猖獗的問題,人們說我的應用程序很慢....修復它。你需要具體。就像:在提供10k請求時它的速度很慢,平均請求時間是600ms,我們希望它在100ms,我們已經嘗試了這些細節。與任何持久化庫/使用的圖層相比,Tomcat和apache可能與性能無關。而不是負載或基準你給出了機器的具體細節,這意味着插孔蹲。 – 2013-04-08 12:35:10

回答

1
while (unhappyWithSitePerformance) { 
    executeLoadTest(); 
    identifyBiggestBottleneck(); // e.g. what breaks first 
    fixIdentifiedBottleneck(); 
} 

沒有空白的銀色子彈提供。您應該確保您的負載測試模擬真實的用戶行爲並定義您希望服務器在給定的應答時間內處理的(虛擬)用戶數量。然後調整您的服務器,直到達到目標。

常用參數以尋找是

  • 存儲器消耗
  • CPU消耗(例如一定的算法)
  • I/O飽和 - 例如與數據庫通信,使網絡適配器飽和的一般HTTP流量
  • 數據庫或後端應答時間 - 例如,有時你必須調整後端,而不是網絡服務器本身。