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

nginx+keepalived+tomcat之tomcat性能調(diào)優(yōu)

系統(tǒng) 2361 0
nginx+keepalived+tomcat之tomcat性能調(diào)優(yōu)

tomcat容器調(diào)優(yōu)

vim $CATALINA_HOME/conf/server.xml

...

<Connector port="8080" protocol="HTTP/1.1"

????????? URIEncoding="UTF-8"? minSpareThreads="25" maxSpareThreads="75"

????????? enableLookups="false" disableUploadTimeout="true" connectionTimeout="20000"

????????? acceptCount="500"? maxThreads="300"

????????? useURIValidationHack="false"

? ? ? ? ? compression="on" compressionMinSize="2048"

? ? ? ? ? compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"

? ? ? ? ? redirectPort="8443"

/>

...

【注釋】

URIEncoding:URI編碼,這里參數(shù)是UTF-8,很容易理解,即支持中文域名

minSpareThreads:最小空閑線程,即tomcat可以保留的最小線程

? ? |-->????maxSpareThreads:最大空閑進(jìn)程,如果超出這個(gè)參數(shù),則會(huì)被回收

(這兩個(gè)參數(shù)根據(jù)實(shí)際環(huán)境而定,如果每天都有一個(gè)并發(fā)爆發(fā)期,則最好min設(shè)置的大一些)

enableLookups:是否開啟域名解析,這個(gè)一般都禁止,域名解析影響性能

disableUploadTimeout:

connectionTimeout:連接超時(shí)時(shí)間,單位是ms,根據(jù)程序性能決定

maxThreads:同一時(shí)刻可以接收的最大請(qǐng)求,即并發(fā)量

acceptCount:若超出maxThreads,則超出部分不能超過(guò)此參數(shù)值,若超過(guò),則拒絕

useURIValidationHack:設(shè)置為false可以減少tomcat對(duì)一些url的不必要的檢查從而減省開銷【不明覺(jué)厲】

compression:是否啟用壓縮,肯定啟用了

compressionMinSize:壓縮文件大小下限,單位字節(jié)

compressableMimeType:壓縮文件的Mime類型

redirectPort:重定向(因此若為443https,則8443 connector也應(yīng)該加入以上參數(shù))



jvm調(diào)優(yōu)

vim $CATALINA_HOME/bin/catalina.sh

...


export JAVA_OPTS="-server -Xms8192M -Xmx8192M -Xmn3072M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=256M -XX:MaxPermSize=4096M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC ?-XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m ?-XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true"

...

【注釋信息】

jvm調(diào)優(yōu)其實(shí)就是在catalina啟動(dòng)時(shí)臨時(shí)加上JAVA_OPTS變量值的。

-server:意思就是將tomcat改為生產(chǎn)模式,這個(gè)看網(wǎng)上說(shuō)明,不加的話,就如同實(shí)驗(yàn)環(huán)境一樣。因此,必加參數(shù)

-Xms:jvm最小堆內(nèi)存

? ?|--> ????-Xmx:jvm最大堆內(nèi)存

這兩個(gè)值的差值叫做保留內(nèi)存,不過(guò)建議最好設(shè)置的一樣,即最小內(nèi)存隨同最大內(nèi)存,之所以這么設(shè)置是因?yàn)椋瑑?nèi)存回收的時(shí)候,也是需要消耗cpu的,如果此時(shí)突然并發(fā)又來(lái)了,而tomcat卻在回收內(nèi)存,那么就不爽了

-Xmn:新生態(tài)內(nèi)存,這個(gè)官方建議是jvm堆內(nèi)存的3/8,堆內(nèi)存=新生內(nèi)存+老年內(nèi)存+持久內(nèi)存

-Xss:設(shè)定每個(gè)線程的堆棧大小

-XX:+AggressiveOpts:作用如其名(aggressive),啟用這個(gè)參數(shù),則每當(dāng)JDK版本升級(jí)時(shí),你的JVM都會(huì)使用最新加入的優(yōu)化技術(shù)

-XX:+UseBiasedLocking:?jiǎn)⒂靡粋€(gè)優(yōu)化了的線程鎖,我們知道在我們的appserver,每個(gè)http請(qǐng)求就是一個(gè)線程,有的請(qǐng)求短有的請(qǐng)求長(zhǎng),就會(huì)有請(qǐng)求排隊(duì)的現(xiàn)象,甚至還會(huì)出現(xiàn)線程阻塞,這個(gè)優(yōu)化了的線程鎖使得你的appserver內(nèi)對(duì)線程處理自動(dòng)進(jìn)行最優(yōu)調(diào)配。

-XX:PermSize:持久態(tài)最小內(nèi)存,默認(rèn)為物理內(nèi)存大小的1/64

-XX:MaxPermSize:持久態(tài)最大內(nèi)存,默認(rèn)為物理內(nèi)存大小的1/4

-XX:+DisableExplicitGC:在程序代碼中不允許有顯示的調(diào)用”System.gc()”,【不明覺(jué)厲】

-XX:MaxTenuringThreshold:設(shè)置對(duì)象在年輕態(tài)停留的時(shí)間,時(shí)間越長(zhǎng),被回收概率越大,若為0,則直接轉(zhuǎn)到老年態(tài)

-XX:+UseConcMarkSweepGC:CMS gc,這一特性只有jdk1.5即后續(xù)版本才具有的功能,它使用的是gc估算觸發(fā)和heap占用觸發(fā)。

我們知道頻頻繁的GC會(huì)造面JVM的大起大落從而影響到系統(tǒng)的效率,因此使用了CMS GC后可以在GC次數(shù)增多的情況下,每次GC的響應(yīng)時(shí)間卻很短,比如說(shuō)使用了CMS GC后經(jīng)過(guò)jprofiler的觀察,GC被觸發(fā)次數(shù)非常多,而每次GC耗時(shí)僅為幾毫秒。【不明覺(jué)厲】

-XX:+UseParNewGC:年輕代采用多線程并行回收,加速回收 ?

? ? |-->? ?-XX:+CMSParallelRemarkEnabled:在使用UseParNewGC 的情況下, 盡量減少 mark 的時(shí)間【不明覺(jué)厲】

-XX:+UseCMSCompactAtFullCollection:在使用concurrent gc 的情況下, 防止 memoryfragmention, 對(duì)live object 進(jìn)行整理, 使 memory 碎片減少【不知道啥意思】

-XX:LargePageSizeInBytes:指定 Java heap的分頁(yè)頁(yè)面大小

-XX:+UseFastAccessorMethods:get,set 方法轉(zhuǎn)成本地代碼【不知道啥意思】

-XX:+UseCMSInitiatingOccupancyOnly:指示只有在 oldgeneration 在使用了初始化的比例后concurrent collector 啟動(dòng)收集【不知道啥意思】

-Djava.awt.headless=true":這個(gè)參數(shù)一般我們都是放在最后使用的,這全參數(shù)的作用是這樣的,有時(shí)我們會(huì)在我們的J2EE工程中使用一些圖表工具如:jfreechart,用于在 web網(wǎng)頁(yè)輸出GIF/JPG等流,在winodws環(huán)境下,一般我們的app server在輸出圖形時(shí)不會(huì)碰到什么問(wèn)題,但是在linux/unix環(huán)境下經(jīng)常會(huì)碰到一個(gè)exception導(dǎo)致你在winodws開發(fā)環(huán)境下圖片顯 示的好好可是在linux/unix下卻顯示不出來(lái),因此加上這個(gè)參數(shù)以免避這樣的情況出現(xiàn)。【雖然知道結(jié)果,就是不知道因在何處】









nginx+keepalived+tomcat之tomcat性能調(diào)優(yōu)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 确山县| 宕昌县| 平遥县| 阳城县| 新巴尔虎左旗| 碌曲县| 菏泽市| 汉川市| 元谋县| 沅陵县| 南阳市| 肥西县| 江源县| 容城县| 博爱县| 宁武县| 黎平县| 平罗县| 谷城县| 乌兰浩特市| 繁峙县| 汪清县| 西峡县| 三明市| 昭平县| 贵定县| 山丹县| 麻阳| 临安市| 新野县| 綦江县| 马山县| 楚雄市| 滨州市| 永嘉县| 岗巴县| 阳山县| 宝清县| 留坝县| 宁阳县| 湖州市|