2014-03-06 48 views
0

我的設置是通過Tomcat7/Java7應用程序上的elasticBeanst部署的WAR。我正在用Servlets和REST做基本的HTML。沒有什麼花哨。適用於AWS的良好默認tomcat server.xml ElasticBeanstalk

我想用elasticBeanstalk替換Tomcat7/Java7的默認server.xml。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers.html

我有點困惑。

  1. 我正在尋找合理的性能調整數字的參數那裏。
  2. 尋找安全性的良好默認值
  3. 我應該觸摸AJP連接器嗎? (每個請求轉到一個servlet)我應該配置什麼?
  4. 此設置是否將Apache作爲前端,還是將HTTP請求直接發送到Tomcat?

我的實例在相對少量的併發用戶之後窒息,CPU佔用率約爲9%,並有大量的數據庫連接。我是否用server.xml跳到結論?

謝謝..

回答

1
  1. 正如你所提到的,大部分的URL請求是基於servlet AJP是沒有必要的。如果您有更多的靜態內容需要投放,您可以使用AJP。

  2. 大多數情況下性能調整需要在web前端部分完成。以下是我的建議。

  3. 對web內容使用gzip壓縮。

  4. 通過使用與緩存相關的HTTP頭(Etag,Expires,Cache-control,)使您的頁面可以被緩存。通過這樣做,您將減少不需要的HTTP請求的數量。
  5. JS和CSS可以是minified以減小它們的大小。
  6. 檢查您是否從網頁抓取工具獲得更多流量。如果您獲得更多流量,請嘗試重複使用Crawler_Session_Manager_Valve的網絡會話。
  7. 嘗試索引數據庫的關鍵表。
  8. 確保您正在使用數據庫連接池,而不是爲每個新請求打開新連接。
  9. 避免不必要的URL重定向(302,304)。

櫃面,如果你正在尋找一本好書,可以幫助你優化你的網站是指High Performance Web Sites for O'Reilly

+0

嗨&謝謝! 2.你知道aws beanStalk Tomcat/Java安裝程序是否有Web服務器,或只是tomcat? 9.對於內容未更改的請求,我使用304。那不好嗎? – JRun

+1

2)我不知道beanStalk大多他們不應該有一個單獨的Web服務器。 9)對未改變的內容使用304是正確的使用方式。 –