The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          1. 如何加大tomcat連接數(shù)

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

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

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

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

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

          minSpareThreads :Tomcat初始化時創(chuàng)建的線程數(shù)。

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

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

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


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

          web server允許的最大連接數(shù)還受制于操作系統(tǒng)的內(nèi)核參數(shù)設置,通常Windows是2000個左右,Linux是1000個左右。

          Unix中如何設置這些參數(shù),請參閱Unix常用監(jiān)控和管理命令

          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參數(shù)設置成false即可,如下:

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


          3. 如何加大tomcat可以使用的內(nèi)存

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

          JAVA_OPTS='-Xms【初始化內(nèi)存大小】 -Xmx【可以使用的最大內(nèi)存】' 需要把這個兩個參數(shù)值調(diào)大。

          例如: JAVA_OPTS='-Xms256m -Xmx512m' 表示初始化內(nèi)存為256MB,可以使用的最大內(nèi)存為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"

          參數(shù)說明:

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

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

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

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

          -XX:MaxPermSize設置最大非堆內(nèi)存的大小,默認是物理內(nèi)存的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>
          參數(shù)說明:
          defaultSessionTimeOut:設置會話時間 單位為秒
          maxActive : 連接池的最大數(shù)據(jù)庫連接數(shù)。設為0表示無限制。
          maxIdle :可以同時閑置在連接池中的連接的最大數(shù)  
          maxWait : 最大超時時間,以毫秒計

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

          Feedback

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

          主站蜘蛛池模板: 普洱| 色达县| 梧州市| 罗平县| 河源市| 连江县| 平乡县| 苍梧县| 岗巴县| 皮山县| 西乌珠穆沁旗| 河西区| 酒泉市| 彰武县| 麦盖提县| 舟曲县| 石阡县| 广水市| 巴彦淖尔市| 齐齐哈尔市| 方正县| 泊头市| 桐梓县| 肇源县| 德江县| 将乐县| 吉木萨尔县| 孝昌县| 宁晋县| 古蔺县| 修水县| 哈密市| 武冈市| 岗巴县| 高尔夫| 河北区| 卢湾区| 东台市| 白城市| 阜新市| 浑源县|