www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]一文了解Tomcat性能調(diào)優(yōu)。

作者:Java架構(gòu)師歷程

來源:cloud.tencent.com/developer/article/1346964

Tomcat性能調(diào)優(yōu)

找到Tomcat根目錄下的conf目錄,修改server.xml文件的內(nèi)容。對于這部分的調(diào)優(yōu),我所了解到的就是無非設(shè)置一下Tomcat服務(wù)器的最大并發(fā)數(shù)和Tomcat初始化時創(chuàng)建的線程數(shù)的 設(shè)置,當(dāng)然還有其他一些性能調(diào)優(yōu)的設(shè)置,下圖是我根據(jù)我機(jī)子的性能設(shè)置的一些參數(shù)值,給各位詳細(xì)解釋一下吧:

只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!

1、URIEncoding=“UTF-8”:設(shè)置Tomcat的字符集。這種配置我們一般是不會設(shè)置的,因為關(guān)于亂碼的轉(zhuǎn)換我們會在具體項目中具體處理,直接修改Tomcat的字符集未免過于太死板。

2、maxThreads=“300”:設(shè)置當(dāng)前Tomcat的最大并發(fā)數(shù)。Tomcat默認(rèn)配置的最大請求數(shù)是150個,即同時能支持150個并發(fā)。但是在實際運(yùn)用中,最大并發(fā)數(shù)與硬件性能和CPU數(shù)量都有很大關(guān)系的,更好的硬件、更高的處理器都會使Tomcat支持更多的并發(fā)數(shù)。如果一般在實際開發(fā)中,當(dāng)某個應(yīng)用擁有 250 個以上并發(fā)的時候,都會考慮到應(yīng)用服務(wù)器的集群。

3、minSpareThreads=“50”:設(shè)置當(dāng)前Tomcat初始化時創(chuàng)建的線程數(shù),默認(rèn)值為25。

4、acceptCount=“250”:當(dāng)同時連接的人數(shù)達(dá)到maxThreads參數(shù)設(shè)置的值時,還可以接收排隊的連接數(shù)量,超過這個連接的則直接返回拒絕連接。指定當(dāng)任何能夠使用的處理請求的線程數(shù)都被使用時,能夠放到處理隊列中的請求數(shù),超過這個數(shù)的請求將不予處理。默認(rèn)值為100。在實際應(yīng)用中,如果想加大Tomcat的并發(fā)數(shù) ,應(yīng)該同時加大acceptCount和maxThreads的值。

5、enableLookups=“false”:是否開啟域名反查,一般設(shè)置為false來提高處理能力,它的取值還有true,一般很少使用。

6、maxKeepAliveRequests=“1”:nginx動態(tài)的轉(zhuǎn)給tomcat,nginx是不能keepalive的,而tomcat端默認(rèn)開啟了keepalive,會等待keepalive的timeout,默認(rèn)不設(shè)置就是使用connectionTimeout。所以必須設(shè)置tomcat的超時時間,并關(guān)閉tomcat的keepalive。否則會產(chǎn)生大量tomcat的socket timewait。

maxKeepAliveRequests=”1”就可以避免tomcat產(chǎn)生大量的TIME_WAIT連接,從而從一定程度上避免tomcat假死。

JVM性能調(diào)優(yōu)

Tomcat本身還是運(yùn)行在JVM上的,通過對JVM參數(shù)的調(diào)整我們可以使Tomcat擁有更好的性能。目前針對JVM的調(diào)優(yōu)主要有兩個方面:內(nèi)存調(diào)優(yōu)和垃圾回收策略調(diào)優(yōu)。

一、內(nèi)存調(diào)優(yōu)


找到Tomcat根目錄下的bin目錄,設(shè)置catalina.sh文件中JAVA_OPTS變量即可,因為后面的啟動參數(shù)會把JAVA_OPTS作為JVM的啟動參數(shù)來處理。再說Java虛擬機(jī)的內(nèi)存結(jié)構(gòu)是有點復(fù)雜的,相信很多人在理解上都是很抽象的,它主要分為堆、棧、方法區(qū)和垃圾回收系統(tǒng)等幾個部分組成,下面是我從網(wǎng)上扒的內(nèi)存結(jié)構(gòu)圖:


只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!


內(nèi)存調(diào)優(yōu)這塊呢,無非就是通過修改它們各自的內(nèi)存空間的大小,使應(yīng)用能夠更加合理的運(yùn)用,下圖是我根據(jù)我機(jī)子的性能設(shè)置的參數(shù),給各位詳細(xì)解釋一下各個參數(shù)的含義吧:


只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!


1、-Xmx512m:設(shè)置Java虛擬機(jī)的堆的最大可用內(nèi)存大小,單位:兆(m),整個堆大小=年輕代大小 + 年老代大小 + 持久代大小。持久代一般固定大小為64m。堆的不同分布情況,對系統(tǒng)會產(chǎn)生一定的影響。盡可能將對象預(yù)留在新生代,減少老年代GC的次數(shù)(通常老年回收起來比較慢)。

實際工作中,通常將堆的初始值和最大值設(shè)置相等,這樣可以減少程序運(yùn)行時進(jìn)行的垃圾回收次數(shù)和空間擴(kuò)展,從而提高程序性能。

2、-Xms512m:設(shè)置Java虛擬機(jī)的堆的初始值內(nèi)存大小,單位:兆(m),此值可以設(shè)置與-Xmx相同,以避免每次垃圾回收完成后JVM重新分配內(nèi)存。

3、-Xmn170m:設(shè)置年輕代內(nèi)存大小,單位:兆(m),此值對系統(tǒng)性能影響較大,Sun官方推薦配置為整個堆的3/8。一般在增大年輕代內(nèi)存后,也會將會減小年老代大小。

4、-Xss128k:設(shè)置每個線程的棧大小。JDK5.0以后每個線程棧大小為1M,以前每個線程棧大小為256K。更具應(yīng)用的線程所需內(nèi)存大小進(jìn)行調(diào)整。 在相同物理內(nèi)存下,減小這個值能生成更多的線程。但是操作系統(tǒng)對一個進(jìn)程內(nèi)的線程數(shù)還是有限制的,不能無限生成,經(jīng)驗值在3000~5000左右。

5、-XX:NewRatio=4:設(shè)置年輕代(包括Eden和兩個Survivor區(qū))與年老代的比值(除去持久代)。設(shè)置為4,則年輕代與年老代所占比值為1:4,年輕代占整個堆棧的1/5 。

6、-XX:SurvivorRatio=4:設(shè)置年輕代中Eden區(qū)與Survivor區(qū)的大小比值。設(shè)置為4,則兩個Survivor區(qū)與一個Eden區(qū)的比值為2:4,一個Survivor區(qū)占整個年輕代的1/6。

7、-XX:MaxPermSize=16m:設(shè)置持久代大小為16m,上面也說了,持久代一般固定的內(nèi)存大小為64m。

8、-XX:MaxTenuringThreshold=0:設(shè)置垃圾最大年齡。 如果設(shè)置為0的話,則年輕代對象不經(jīng)過Survivor區(qū),直接進(jìn)入年老代。對于年老代比較多的應(yīng)用,可以提高效率。

如果將此值設(shè)置為一個較大值,則年輕代對象會在Survivor區(qū)進(jìn)行多次復(fù)制,這樣可以增加對象再年輕代的存活時間,增加在年輕代即被回收的概論。

二、垃圾回收策略調(diào)優(yōu)


找到Tomcat根目錄下的bin目錄,也是設(shè)置catalina.sh文件中JAVA_OPTS變量即可。我們都知道Java虛擬機(jī)都有默認(rèn)的垃圾回收機(jī)制,但是不同的垃圾回收機(jī)制的效率是不同的,正是因為這點我們才經(jīng)常對Java虛擬機(jī)的垃圾回收策略進(jìn)行相應(yīng)的調(diào)整。下面也是通過我的一些需求來配置的垃圾回收策略:

只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!


Java虛擬機(jī)的垃圾回收策略一般分為:串行收集器、并行收集器和并發(fā)收集器。

串行收集器:

1、-XX:+UseSerialGC:代表垃圾回收策略為串行收集器,即在整個掃描和復(fù)制過程采用單線程的方式來進(jìn)行,適用于單CPU、新生代空間較小及對暫停時間要求不是非常高的應(yīng)用上,是client級別默認(rèn)的GC方式,主要在JDK1.5之前的垃圾回收方式。

并發(fā)收集器:

1、-XX:+UseParallelGC:代表垃圾回收策略為并行收集器(吞吐量優(yōu)先),即在整個掃描和復(fù)制過程采用多線程的方式來進(jìn)行,適用于多CPU、對暫停時間要求較短的應(yīng)用上,是server級別默認(rèn)采用的GC方式。此配置僅對年輕代有效。該配置只能讓年輕代使用并發(fā)收集,而年老代仍舊使用串行收集。

2、-XX:ParallelGCThreads=4:配置并行收集器的線程數(shù),即:同時多少個線程一起進(jìn)行垃圾回收。此值最好配置與處理器數(shù)目相等。

3、-XX:+UseParallelOldGC:配置年老代垃圾收集方式為并行收集。JDK6.0支持對年老代并行收集 。

4、-XX:MaxGCPauseMillis=100:設(shè)置每次年輕代垃圾回收的最長時間,如果無法滿足此時間,JVM會自動調(diào)整年輕代大小,以滿足此值。

5、-XX:+UseAdaptiveSizePolicy:設(shè)置此選項后,并行收集器會自動選擇年輕代區(qū)大小和相應(yīng)的Survivor區(qū)比例,以達(dá)到目標(biāo)系統(tǒng)規(guī)定的最低相應(yīng)時間或者收集頻率等,此值建議使用并行收集器時,一直打開。

并發(fā)收集器:

1、-XX:+UseConcMarkSweepGC:代表垃圾回收策略為并發(fā)收集器。 好了,到此我對虛擬機(jī)的垃圾回收策略總結(jié)就這么多,還是這句話:優(yōu)化的學(xué)習(xí)一直在路上,下面還有一張從其他博客中偷到的圖,據(jù)說以上三種GC機(jī)制是需要配合使用的。

只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!

特別推薦一個分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長按關(guān)注一下:

只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!

只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!

只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!

長按訂閱更多精彩▼

只需兩步,Tomcat JVM參數(shù)性能迅速調(diào)到最優(yōu)!

如有收獲,點個在看,誠摯感謝

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉