一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JVM Tomcat性能實戰(推薦)

JVM Tomcat性能實戰(推薦)

2020-05-01 13:31jingxian JAVA教程

下面小編就為大家帶來一篇JVM Tomcat性能實戰(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本節只是介紹實戰部分,具體的理論參數,請自行百度。

所需工具:linux服務器  Jmeter測試工具  xshell   一個web應用

 

TomcatJVM參數可以配置在catalina.sh,如果是在window上可以配置.bat文件

配置1:

JVM Tomcat性能實戰(推薦)

這里 我配置了一個gc日志路徑為/home/log/gc.log ,打印gc的日志,初始堆和最大堆內存設置為50M,輸出Dump文件在內存溢出的時候 ,使用串行垃圾收集器,永久代大小為50m。

將web應用放到對應的目錄,配置好server.xml(這里不作配置介紹),sh start.sh啟動tomcat.

 

使用壓測工具(Jmeter)進行吞吐量的測試。沒用過的同學可以上官網下載學習一下http://jmeter.apache.org/

建立用戶組(10個線程,每個線程請求1000次),設置好Http請求的信息,生成一個聚合報告和一個gc日志

先來看一下gc日志吧:

JVM Tomcat性能實戰(推薦)

滿屏幕的Full GC啊,最后查看聚合報告:

JVM Tomcat性能實戰(推薦)

吞吐量維持在122.7每秒。從這個案例中我們可以看到老年代34176k基本已經滿了,經過FUllGC之后新生代會有一點剩余的空間??偟膩碚fFull GC的停頓時間是最長的,而且發生的這么頻繁,顯然這樣的配置是不合理的。

 

 

配置2:

JVM Tomcat性能實戰(推薦)

這次配置主要是增大了最大堆內存。以便虛擬機自動擴容,得到穩定的堆內存大小。

 

JVM Tomcat性能實戰(推薦)

只需要關注一點 最大堆內存為82924k 80M左右,也就是說虛擬機對堆內存自動擴容到80M,并且穩定下來。這個配置測試只是為了找到一個穩定的堆內存,以便接下來的測試。

 

配置三:

JVM Tomcat性能實戰(推薦)

設置堆的初始內存128m。

由配置2的結果可知,堆內存最終穩定在80m左右,因此小于80m的堆內存,很有可能會引起大量的GC反應,所以這里我把堆內存設置為128M,可以減少GC次數。

JVM Tomcat性能實戰(推薦)

JVM Tomcat性能實戰(推薦)

可以看到吞吐量略微有所提升,GC次數大量減少,并且GC的時間間隔變得更長。

配置四:

JVM Tomcat性能實戰(推薦)

當前使用ParallalGC回收器,這是一個多線程并行回收器。

JVM Tomcat性能實戰(推薦)

使用多線程并行的GC回收器吞吐量有略微有提升。(在沒有GC壓力的情況下,ParallalGC和serialGC對吞吐量影響不大。)

 

配置五:

JVM Tomcat性能實戰(推薦)

JVM Tomcat性能實戰(推薦)

 

配置六:

JVM Tomcat性能實戰(推薦)

JVM Tomcat性能實戰(推薦)

 

根據配置三的結論在80M以下的堆內存會發生頻繁的GC,再結合配置四中得到的結論在有一定GC壓力的時候,ParallelGC和serialGC的吞吐量會表現出一定的差異性。配置五和配置六的堆內存64M<80M ,會發生頻繁的GC,采用不同的GC回收器的時候,理論上會在在吞吐量上有較大的差異性,但是我的實驗為什么差距不是很大,到底為什么呢?   誒, 家里窮,我用的是單核的CPU,在單核的情況下ParallelGC改變性能并不明顯。在單核或者并行能力較弱的情況下還是推薦使用serialGC。有條件的同學可以用多核的服務器試一下哦!

 

配置七:

JVM Tomcat性能實戰(推薦)

用ParNewGC試試,新生代使用ParNewGC回收,老年代依舊使用SerialGC回收??纯葱阅苋绾??

JVM Tomcat性能實戰(推薦)

比全部使用串行回收器的性能好,但是比全部使用并行回收器的性能差些。

 

另外JDK版本的升級可能也會使得性能有一點的提升,但是JDK版本升級伴隨著一定的風險,也許在新版本的JDK中引入某些未知的BUG.

最后我列出一些常用的JVM配置參數供參考:

1. 與串行回收期相關的參數

    •-XX:+UseSerialGC:在新生代和老年代使用串行的收集器

    •-XX:SurvivorRatio:設置eden區的大小和survivor區的比例

    •-XX:PretenureSizeThreshold:設置大對象直接進入老年代的閥值。當對象的大小超過這個值,將直接在老年代分配

    •-XX:MaxTenuringThreshold:設置對象進入老年代的年齡的最大值。每一次Minor GC后,對象年齡就加1.任何大于這個年齡的對象,一定會進入老年代。

2. 與并行GC相關的參數

   •-XX:+UseParNewGC:在新生代使用并行收集器。

   •-XX:+UseParallelOldGC:在老年代使用并行收集器

   •-XX:+ParallelGCThreads:設置用于垃圾回收的線程數,通??梢栽O置成和CPU數相等。CPU數量較多的情況下,設置相對小的數值也可。

   •-XX:+MaxGCPauseMillis:設置最大垃圾收集停頓時間。它的值是一個大于0的整數。收集器在工作時,會調整java堆的大小或其他的一些參數,盡可能把停頓時間控制在MaxGCPauseMillis以內。

   •-XX:+UseAdaptiveSizePolicy:打開自適應GC策略,在這種模式下,新生代的大小和survivior的比例,晉升老年代的對象年齡等參數會被自動的調整,以達到堆大小,吞吐量和停頓之間的平衡點。

   •-XX:+GCTimeRatio:設置吞吐量大小。它的值是一個0到100之間的證書。假設GCTimeRatio的值為n,那么系統將花費不超過1/(1+n)的時間用于垃圾收集。

3. 與CMS收集器相關的參數

   •-XX:+UseConcMarkSweepGC:新生代使用并行收集器,老年代使用CMS+串行收集器。

   •-XX:ParallelCMSThreads:設置CMS的線程數量。

   •-XX:CMSInitiatingOccupancyFraction:設置CMS收集器在老年代空間被使用多少后觸發,默認68%

   •-XX:UseCMSCompactAtFullCollection:設置CMS在完成垃圾收集后是否要進行一次碎片整理

   •-XX:CMSFullGCBeforeCompaction:設定進行多少次CMS垃圾回收后,進行一次內存壓縮。

   •-XX:+CMSClassUnloadingEnabled:允許對類元數據進行回收

   •-XX:CMSInitiatingPermOccupancyFraction:當永久代占有率達到這一百分比時,啟動CMS回收(前提是-XX:+CMSClassUnloadingEnabled被激活了)

   •-XX:UseCMSInitiatingOccupancyOnly:表示只有在到達閥值的時候才進行CMS回收。

   •-XX:+CMSIncrementalMode:使用增量模式,比較適合單CPU.增量模式在中標記為廢棄,jdk9中將徹底移除

4. 與G1回收期相關的參數

   •-XX:+UseG1GC:使用G1回收器

   •-XX:+MaxGCPauseMillis:設置最大的垃圾收集停頓時間

   •-XX:+GcPauseIntervalMillis:設置停頓時間間隔。

5. TLAB相關

   •-XX:+UseTLAB:開啟TLAB分配。

   •-XX:+PrintTLAB:打印TLAB相關分配信息

   •-XX:TLABSize:設置TLAB大小

   •-XX:+ResizeTLAB:自動調整TLAB大小

6. 其他一些參數

   •-XX:+DisableExplicitGC:禁用顯式GC

   •-XX:+ExplicitGCInvokesConcurrent:使用并發方式處理顯式GC

以上這篇JVM Tomcat性能實戰(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 加勒比一本大道在线 | 18videossex性欧美69 | 亚洲AV永久无码精品澳门 | 青青草成人影院 | ai换脸明星专区在线观看 | 丰满大屁股美女一级毛片 | 久久国产热视频99rev6 | 亚洲精品www久久久久久久软件 | 日韩一区二区三 | 无耻之徒第十一季在线观看 | 91在线永久 | 美女靠逼免费视频 | freefron性中国 | 国产精品青青在线观看香蕉 | 青青热久久综合网伊人 | 女同69式互添在线观看免费 | 免费在线观看小视频 | 男人日女人的逼视频 | aigao视频 | 色婷婷六月天 | 四虎永久免费地址 | 我的青梅竹马是消防员2季未增删免费 | 天天翘 | 成人网久久 | 日本xxxx在线视频免费 | 卫生间被教官做好爽HH视频 | 小早川怜子视频在线观看 | 国产午夜视频在线观看网站 | 999久久精品国产 | 美女扒开腿让男人桶爽免费gif | 国产精品高清一区二区三区不卡 | 亚洲日韩中文字幕一区 | 全肉一女n男np高h双龙养成 | 欧美免赞性视频 | 久久成人国产精品一区二区 | 古代翁熄系小说辣文 | 精品一区二区三区在线播放 | 奇米影视中文字幕 | 午夜影院和视费x看 | 顶级尤物极品女神福利视频 | 成人在线免费观看视频 |