隨筆-50  評論-55  文章-8  trackbacks-0

          ????? 性能往往出現在你做容易忽略的地方!
          ????? 最近開發了一個WML服務端,部署在tomcat6.0,默認內存64M。做壓力測試,用LR每秒跑50個用戶并發,結果2小時后內存的永久區就滿了,且不回收,查程序,感覺任何可以優化的地方都已經優化了,最后窮盡的辦法,還是老樣子。最好還是感覺我們公司的測試人員NB,發現java.util.concurrent.ConcurrentHashMap$Segment的對象越來越多,經網上資料分析,極有可能是session堆積造成的。這個時候才恍然大悟,因為壓力測試的時候,都沒模擬新的用戶,每次訪問服務端都會創建一個新的session對象,保存在服務器端,如果session有效期不過期,那么就一直保存著,知道內存耗盡。只要知道問題的所在,就比較容易解決問題了。我們都知道session的過期時間是在web.wml里面設置,原來我設置了一天,現在改成30分鐘,不再出現內容消耗的情況了,謝天謝地謝測試。
          <session-config>
          ??<session-timeout>30</session-timeout>
          ?</session-config>
          ????? 得出的結論是,如果想保存session時間久一點,那么設計tomcat的內存大一點,防止請求量的情況出現內存耗盡。如果session在測試中用到不多或者失效性不強,沒有必要加內容,直接修改wen.xml即可。
          ???? 附上網上一個“專家”的分析,http://ddupnow.javaeye.com/blog/621619

          posted on 2010-04-16 15:04 蔣家狂潮 閱讀(2432) 評論(3)  編輯  收藏 所屬分類: JWeb

          評論:
          # re: J2EE壓力測試的性能問題 2010-04-17 22:09 | stone2083
          為什么不考慮使用JSESSIONID,來模擬更真實的用戶并發情況?  回復  更多評論
            
          # re: J2EE壓力測試的性能問題 2010-04-18 15:27 | 俏物悄語購物網站
          是大方的師傅  回復  更多評論
            
          # re: J2EE壓力測試的性能問題 2010-04-22 08:59 | hsihao
          30分鐘……  回復  更多評論
            
          主站蜘蛛池模板: 开平市| 依兰县| 岳普湖县| 长宁县| 襄垣县| 苏州市| 阳春市| 黄冈市| 旺苍县| 钦州市| 金门县| 新巴尔虎右旗| 钟祥市| 黄骅市| 昆明市| 昆山市| 乌恰县| 桃江县| 林周县| 晋江市| 桑日县| 天祝| 明光市| 桐柏县| 英吉沙县| 梁山县| 文山县| 陵水| 敖汉旗| 康保县| 政和县| 上犹县| 石柱| 温泉县| 若尔盖县| 高州市| 新民市| 苗栗县| 茶陵县| 辽源市| 贡嘎县|