The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          1. 如何加大tomcat連接數

          在tomcat配置文件server.xml中的<Connector ... />配置中,和連接數相關的參數有:

          maxThreads : tomcat起動的最大線程數,即同時處理的任務個數,默認值為200。

          minProcessors:最小空閑連接線程數,用于提高系統處理性能,默認值為10 。

          maxProcessors:最大連接線程數,即:并發處理的最大請求數,默認值為75 。

          acceptCount: 當tomcat起動的線程數達到最大時,接受排隊的請求個數,默認值為100。

          minSpareThreads :Tomcat初始化時創建的線程數。

          maxSpareThreads :一旦創建的線程超過這個值,Tomcat就會關閉不再需要的socket線程。

          enableLookups:是否反查域名,取值為:true或false。 缺省值為false,表示使用客戶端主機名的DNS解析功能,被ServletRequest.getRemoteHost方法調用。

          connectionTimeout:網絡連接超時,單位:毫秒。設置為0表示永不超時,這樣設置有隱患的。通常可設置為30000毫秒。


          其中和最大連接數相關的參數為maxProcessors和acceptCount。如果要加大并發連接數,應同時加大這兩個參數。

          web server允許的最大連接數還受制于操作系統的內核參數設置,通常Windows是2000個左右,Linux是1000個左右。

          Unix中如何設置這些參數,請參閱Unix常用監控和管理命令

          tomcat5中的配置示例:

          <Connector port="8090" maxHttpHeaderSize="8169"  maxThreads="1000" minSpareThreads="75" maxSpareThreads="300"               enableLookups="false" redirectPort="8649" acceptCount="100" connectionTimeout="50000" disableUploadTimeout="true" URIEncoding="GBK"/>

          <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="10" maxProcessors="1024" enableLookups="false" redirectPort="8443" acceptCount="1024" debug="0" connectionTimeout="30000" /> 
          對于其他端口的偵聽配置,以此類推。
          2. tomcat中如何禁止列目錄下的文件

          在{tomcat_home}/conf/web.xml中,把listings參數設置成false即可,如下:

          <servlet> ... <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> ... </servlet>


          3. 如何加大tomcat可以使用的內存

          tomcat默認可以使用的內存為128MB,在較大型的應用項目中,這點內存是不夠的,需要調大。
          Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下設置:

          JAVA_OPTS='-Xms【初始化內存大小】 -Xmx【可以使用的最大內存】' 需要把這個兩個參數值調大。

          例如: JAVA_OPTS='-Xms256m -Xmx512m' 表示初始化內存為256MB,可以使用的最大內存為512MB 。

           

          export JAVA_HOME='/home/ftpuser/xjSheetHome/java/jdk1.5.0_22/'

          JAVA_OPTS="-Xms1500m -Xmx1500m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m -Dfile.encoding=GBK"

          參數說明:

          -Xms 是指設定程序啟動時占用內存大小。一般來講,大點,程序會啟動的 快一點,但是也可能會導致機器暫時間變慢。

          -Xmx 是指設定程序運行期間最大可占用的內存大小。如果程序運行需要占 用更多的內存,超出了這個設置值,就會拋出OutOfMemory 異常。

          -Xss 是指設定每個線程的堆棧大小。這個就要依據你的程序,看一個線程 大約需要占用多少內存,可能會有多少線程同時運行等。

          -XX:PermSize設置非堆內存初始值,默認是物理內存的1/64 。

          -XX:MaxPermSize設置最大非堆內存的大小,默認是物理內存的1/4。

           

           

           

          <Context path="/Sheet" defaultSessionTimeOut="3600" docBase="/home/user/Sheet"  >
            <Resource name="jdbc/app" auth="Container"
                                  type="javax.sql.DataSource"
                                  username="SHEET" password="SHEET"
                      driverClassName="oracle.jdbc.driver.OracleDriver"
                      url="jdbc:oracle:thin:@136.24.248.106:1521:kf"
                      maxActive="1000" maxIdle="75"/>
            <ResourceLink name="UserTransaction"
                      global="UserTransaction"
                      type="javax.transaction.UserTransaction"/>
          </Context>
          參數說明:
          defaultSessionTimeOut:設置會話時間 單位為秒
          maxActive : 連接池的最大數據庫連接數。設為0表示無限制。
          maxIdle :可以同時閑置在連接池中的連接的最大數  
          maxWait : 最大超時時間,以毫秒計

          posted on 2015-05-11 16:11 Eric_jiang 閱讀(212) 評論(1)  編輯  收藏 所屬分類: tomcat

          Feedback

          # re: Tomcat優化 2015-05-11 19:55 sdsdsd
          jmx或jstatd,dump一下線程,看看哪里的負載高,有針對性的調優。  回復  更多評論
            

          主站蜘蛛池模板: 临朐县| 磐安县| 六盘水市| 宝山区| 井研县| 柳州市| 灵武市| 新乡县| 波密县| 西青区| 工布江达县| 迭部县| 社会| 临泽县| 客服| 横峰县| 综艺| 镇原县| 南郑县| 普宁市| 屏南县| 汪清县| 马关县| 阜阳市| 民丰县| 集贤县| 楚雄市| 闽清县| 丽江市| 昌黎县| 临沭县| 肃南| 绍兴市| 沙坪坝区| 陈巴尔虎旗| 慈利县| 博湖县| 卓尼县| 澳门| 桃园县| 舞阳县|