隨筆-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分鐘……  回復  更多評論
            
          主站蜘蛛池模板: 武宣县| 盈江县| 沈阳市| 昌宁县| 保定市| 罗源县| 泸州市| 固始县| 安宁市| 牙克石市| 巴彦淖尔市| 鄯善县| 尼勒克县| 浦北县| 马鞍山市| 鄂尔多斯市| 光山县| 鹿泉市| 巫山县| 淮安市| 云南省| 柯坪县| 宁国市| 海阳市| 吉首市| 宕昌县| 额济纳旗| 古田县| 巴塘县| 长顺县| 宜君县| 延长县| 竹北市| 通渭县| 兴义市| 玉林市| 界首市| 翁牛特旗| 兰州市| 龙门县| 浮山县|