2016-10-10 74 views

回答

0

基本上活動會話的數目是現有或以前的瀏覽器或具有獨特JSESSIONID cookie值其他連接的數量。只要有人用瀏覽器打開網頁,就會啓動一個新的會話,併爲該會話分配一個唯一的JSESSIONID。如果使用相同的JSESSIONID(作爲cookie或url參數傳輸)執行下一次命中,則會話計數保持不變。如果參數未傳輸,則創建新的會話。 通常,所有瀏覽器都將會話ID Cookie保留在多個請求中,甚至包含多個選項卡或窗口(當然,隱身標籤/窗口除外)。

有多種原因,您的會話數比你的用戶數量較大。

  • 會話在tomcat中持續一段時間,默認爲2小時。您可以在tomcat設置中更改此金額。因此,如果100個用戶在第一個小時內登錄到您的應用程序,並且100秒內,則即使前100個用戶空閒,您的總會話數也將爲200。
  • 機器人像谷歌機器人往往造成噸會議。如果您的網頁是公開的,請檢查訪問日誌,如果有一些漫遊器訪問您的網頁。

  • 如果您的應用程序是負載均衡器或代理被連續「」查驗其可用性的應用程序背後,這個ping命令可以創建會議以及。

  • 最後,還有很多「搞笑」方式您的應用程序可以從瀏覽器的請求,例如搜索結果的預取和類似。
  • 另外請記住,會話綁定到網站的域名。因此,如果用戶通過多個域名連接到您的網站(例如www.domain.com的內容和static.domain.com的圖像),每個連接都會有自己的會話。

現在,有不同的方法來防止不必要的會話創建,具體取決於您確切的問題是什麼(以及它是否是一個問題)。

  • 如果您的應用程序的某些部分不需要會話,請確保您的代碼中某處不要調用request.getSession()。同樣在jsp中,您可以明確地關閉會話<%@ page session="false" %>
  • 會話超時降低以使它們在tomcat/conf/web.xml中更快過期<session-config><session-timeout>30</session-timeout></session-config> 會話超時值以分鐘爲單位。

最後,如果你有興趣在什麼在你的應用真的發生了,讓自己像MoSKito

問候 的APM(應用性能管理)工具萊昂

相關問題