隨筆-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分鐘……  回復  更多評論
            
          主站蜘蛛池模板: 江孜县| 嘉善县| 涞源县| 平原县| 伊吾县| 汾阳市| 大港区| 门源| 保山市| 广水市| 大安市| 游戏| 天峨县| 吴江市| 革吉县| 松阳县| 华宁县| 额尔古纳市| 正安县| 广灵县| 洛阳市| 汕头市| 柳河县| 海门市| 荣昌县| 榕江县| 天祝| 栾城县| 石家庄市| 临泉县| 梁山县| 长丰县| 牡丹江市| 合川市| 郯城县| 陈巴尔虎旗| 扎鲁特旗| 怀来县| 宣汉县| 民县| 湾仔区|