qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          性能測(cè)試時(shí),tomcat配置優(yōu)化

          性能測(cè)試時(shí),tomcat配置優(yōu)化

          Tomcat連接數(shù)設(shè)置(建議的設(shè)置,可根據(jù)服務(wù)器的實(shí)際性能進(jìn)行更改)

          tomcat配置文件server.xml中的配置中,和連接數(shù)相關(guān)的參數(shù)有:

          1 maxThreadsTomcat使用線(xiàn)程來(lái)處理接收的每個(gè)請(qǐng)求。這個(gè)值表示Tomcat可創(chuàng)建的最大的線(xiàn)程數(shù)。portal預(yù)置值300

          2 acceptCount指定當(dāng)所有可以使用的處理請(qǐng)求的線(xiàn)程數(shù)都被使用時(shí),可以放到處理隊(duì)列中的請(qǐng)求數(shù),超過(guò)這個(gè)數(shù)的請(qǐng)求將不予處理。portal預(yù)置值50

          3 minSpareThreadsTomcat初始化時(shí)創(chuàng)建的線(xiàn)程數(shù)。portal預(yù)置值25

          4 maxSpareThreads一旦創(chuàng)建的線(xiàn)程超過(guò)這個(gè)值,Tomcat就會(huì)關(guān)閉不再需要的socket線(xiàn)程。portal預(yù)置值75

          5 connnectionTimeout網(wǎng)絡(luò)連接超時(shí),默認(rèn)值60000,單位:毫秒。設(shè)置為0表示永不超時(shí),這樣設(shè)置有隱患的。portal預(yù)置值為30000毫秒。

          6 maxKeepAliveRequests保持請(qǐng)求數(shù)量,portal預(yù)置值100

          7  bufferSize輸入流緩沖大小,portal預(yù)置值2048 bytes

          把端口的配置替換為如下的內(nèi)容,可以提高tomcat的性能,并且同時(shí)關(guān)閉tomcat的打印信息。
          可以復(fù)制下面的代碼進(jìn)行粘貼后修改:

            <Connector port="80" maxHttpHeaderSize="8192" useBodyEncodingForURI="true"  
                         maxThreads="300" minSpareThreads="25" maxSpareThreads="75"  
                         enableLookups="false" redirectPort="8443" acceptCount="100"  
                         compression="off" compressionMinSize="2048"   
          compressableMimeType="text/html,text/xml,text/css,text/plain"  
                         connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>


          二,如果在性能測(cè)試中發(fā)現(xiàn)有tomcat內(nèi)存溢出的錯(cuò)誤,就需要加大虛擬內(nèi)存了。

          Tomcat默認(rèn)可以使用的內(nèi)存為128MB,Windows,在文件/bin/catalina.batUnix下,在文件/bin/catalina.sh的前面,增加如下設(shè)置:JAVA_OPTS='-Xms【初始化內(nèi)存大小】-Xmx【可以使用的最大內(nèi)存】'需要把這個(gè)兩個(gè)參數(shù)值調(diào)大。例如:JAVA_OPTS='-Xms256m -Xmx512m'表示初始化內(nèi)存為256MB,可以使用的最大內(nèi)存為512MB(普通PC機(jī)作為服務(wù)器下建議用此配置)。

          從實(shí)際應(yīng)用的角度來(lái)說(shuō)。-Xmx大了不是很好,垃圾回收需要更多的時(shí)間,但是thread問(wèn)題就很大,配給JVM的內(nèi)存數(shù)越大,tomcat所能開(kāi)的thread數(shù)就越小,最后出現(xiàn)ava.lang.OutOfMemoryError: unable to create new native thread

          如果給jvm分配過(guò)多,剩余供OS使用,其中windowsdll占了一部分,但是你在JVM創(chuàng)建線(xiàn)程的時(shí)候,創(chuàng)建的是OS的線(xiàn)程,他要從剩余的空間中分配內(nèi)存。如果沒(méi)有可用內(nèi)存,出現(xiàn)上述錯(cuò)誤。

          如果是刀片4核,8G內(nèi)存的服務(wù)器,如果布置兩個(gè)tomcattomcat預(yù)置值建議可以設(shè)置為JAVA_OPTS='-Xms512m –Xmx1024m'

          posted on 2011-10-31 15:52 順其自然EVO 閱讀(1984) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 測(cè)試學(xué)習(xí)專(zhuān)欄

          <2011年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 临澧县| 安义县| 晋中市| 巴马| 精河县| 香港| 弋阳县| 郧西县| 呼伦贝尔市| 阜宁县| 泾源县| 孝感市| 丰宁| 青冈县| 安仁县| 卓尼县| 锡林郭勒盟| 随州市| 内丘县| 顺昌县| 五常市| 建阳市| 赤城县| 芒康县| 蒙山县| 荆门市| 辽宁省| 呼图壁县| 革吉县| 镇雄县| 洞口县| 开化县| 泽普县| 神农架林区| 伊金霍洛旗| 南投县| 德清县| 宁津县| 广平县| 樟树市| 南部县|