日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

一個JSP結果頁面tomcat內存溢出

系統 2139 0

? ? 如今,試驗組的同事尋找新能源我看到一個奇怪的現象。一個tomcat應用,內只有一個簡單的jsp頁面,和這個jsp無論是什么頁java代碼(我想用這個jsp在她的網頁測試server一對tomcat的最大QPS)。可是用loadrunner壓測了幾分鐘之后。分配了1024M堆內存的tomcat竟然包heap space outofmemory!這個頁面的代碼例如以下:

      <%@ page   language="java" contentType="text/html; charset=ISO-8859-1"
      pageEncoding="ISO-8859-1"%>
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>test</title>
   </head>
   <body>
  <p>hello world!</p>
  </body>
  </html>
    

? ? 最初的分析是。一個JSP頁面撐死了會產生一個相應的java文件,然后這個java文件編譯成class文件。載入到內存里面去。也就是會有一個class對象會被載入到PermGen space里面去。

跟heap space是沒有不論什么關系的。

可是最后報的是對空間溢出。于是推測肯定是每請求一次jsp頁面就會生成一個對象。

? ? 百度了一下,發現每請求一次JSP頁面,會產生一個session對象。在tomcat的web.xml里面有這么個配置:

       <session-config>
          <session-timeout>30</session-timeout>
 </session-config>
    

? ? 也就是說每請求一次jsp頁面。會產生一個session對象。而且這個對象30分鐘后才過期。我們計算了下當時的QPS是5000,也就是說每秒鐘產生5000個session對象。每分鐘產生300K個對象,session是個map對象。比較大,這樣非常快就會把內存撐爆。

? ? 解決的方法例如以下:

? ? 1.在page指令里加入session=false。

? ? 2.把session的過期時間設成0。

? ? 如今她的loadrunner跑的非常穩定。

工作之后就實用從未jsp該,搜索jsp問題更加苛刻。。。

版權聲明:本文博客原創文章。博客,未經同意,不得轉載。

一個JSP結果頁面tomcat內存溢出


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 吕梁市| 武清区| 台南市| 汉寿县| 襄樊市| 义乌市| 大埔区| 唐河县| 河东区| 通山县| 县级市| 太仓市| 九龙县| 扎鲁特旗| 杭锦后旗| 天水市| 资阳市| 神农架林区| 上饶市| 赣州市| 清新县| 山东省| 长白| 安图县| 聂荣县| 宁远县| 磴口县| 北安市| 河津市| 新和县| 米泉市| 林周县| 新野县| 赣榆县| 太谷县| 长顺县| 十堰市| 辽源市| 楚雄市| 黔西| 于田县|