2011-04-20 93 views
0

我正在研究一個與Google Analytics非常相似的分析應用程序。 它基本上存儲來自數據庫中各個站點的統計數據。分析應用程序的Tomcat配置

的應用具有以下屬性:

  • 大量請求(2.5K/s的峯值時間)
  • 每個請求很少的處理

我使用的Tomcat 6和Apache HTTPD 2.

我應該爲Tomcat的maxThreadsconnectionTimeout屬性設置這個特定類型的值應用?

+0

你有一些關於如何在日常/每月/每年使用你的應用程序的數字/統計數據?如果沒有,爲什麼不通過發送數百萬個請求來測試,直到Tomcat開始轟炸並從那裏開始工作。 – 2011-04-20 15:35:13

+0

我每天存儲150萬條記錄,目前使用兩個帶有8GB內存和3GHz雙核處理器的tomcat服務器。 – Rols 2011-04-20 15:59:50

回答

1

確定特定網站最佳設置的唯一方法是通過測試。很顯然你的Tomcat實例將處理大量相當小的請求,返回的數據很少 - 這不是正常情況。我的猜測是,你會想要大量的線程(1000或許,默認爲200)和一個很短的超時時間,但是什麼樣的確切值將是最優的將要通過測試來確定,並且可能在現場試驗後進行調整。

在過去,我已經編寫了一些小型的多線程應用程序來在服務器上觸發請求,它既便宜又開朗,並且可以獲得非常高的請求率。如果你想要更復雜的檢查JMeter它可以加載測試大多數網站相當不錯。

我認爲你應該考慮以某種形式的負載均衡運行多個Tomcat實例,如果你擔心吞噬單個實例的請求數量。由於您似乎在Apache後面運行Tomcat,所以在AJP連接器中設置應該相當簡單。

編輯

就看到了數字的更新。我更願意看看每秒鐘的請求數和你給出的數字,大概在18秒左右。我會認爲Tomcat能夠在不改變設置的情況下應對這種情況。我的猜測是,你在其他地方有瓶頸,可能在數據的存儲中,因爲我猜它正在進入數據庫。

+0

我知道點擊次數/天不是很豐富。在高峯時間,我在每臺服務器上約2.5k點/秒。我絕對可以嘗試碰撞最大線程。 – Rols 2011-04-20 17:36:15