隨筆-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 蔣家狂潮 閱讀(2443) 評論(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分鐘……  回復  更多評論
            
          主站蜘蛛池模板: 类乌齐县| 汾阳市| 万宁市| 呼图壁县| 额敏县| 台山市| 英超| 乐清市| 大埔县| 金川县| 西安市| 镇雄县| 航空| 合阳县| 博湖县| 治多县| 贵定县| 宿州市| 通河县| 长治市| 巫溪县| 淮安市| 东城区| 会东县| 无锡市| 刚察县| 新干县| 宁强县| 宁海县| 南澳县| 宁化县| 乃东县| 固阳县| 大邑县| 横山县| 交口县| 辽阳县| 武功县| 循化| 岗巴县| 永宁县|