日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

SpringBoot項目調優及垃圾回收器的比較詳解

瀏覽:27日期:2023-05-25 14:13:03

一、SpringBoot項目在外部Tomcat啟動時加載兩次

如下所示,spring標志出現兩次(截取部分代碼)

. ____ _ __ _ _ / / ___’_ __ _ _(_)_ __ __ _ ( ( )___ | ’_ | ’_| | ’_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ’ |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.7.RELEASE)2020-04-02 16:57:29.505 INFO 19964 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : Starting MainApplication on LAPTOP-1U9EARRO with PID 19964 (D:apache-tomcat-8.5.42apache-tomcat-8.5.42webappskill-0.0.1-SNAPSHOTWEB-INFclasses started by pitt in C:UserspittAppDataLocalMyEclipse 2017 CI)2020-04-02 16:57:29.508 DEBUG 19964 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : Running with Spring Boot v1.5.7.RELEASE, Spring v4.3.11.RELEASE2020-04-02 16:57:29.509 INFO 19964 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : No active profile set, falling back to default profiles: default2020-04-02 16:57:29.539 INFO 19964 --- [ost-startStop-1] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1e20bc0d: startup date [Thu Apr 02 16:57:29 GMT+08:00 2020]; root of context hierarchy2020-04-02 16:57:30.097 INFO 19964 --- [ost-startStop-1] o.s.b.f.xml.XmlBeanDefinitionReader : Loading XML bean definitions from class path resource [spring/spring-jdbc.xml]2020-04-02 16:57:30.141 WARN 19964 --- [ost-startStop-1] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in ’[com.pitt.kill.model.mapper]’ package. Please check your configuration.2020-04-02 16:57:30.258 WARN 19964 --- [ost-startStop-1] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in ’[com.pitt.kill.server]’ package. Please check your configuration.2020-04-02 16:57:30.307 INFO 19964 --- [ost-startStop-1] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode! . ____ _ __ _ _ / / ___’_ __ _ _(_)_ __ __ _ ( ( )___ | ’_ | ’_| | ’_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ’ |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.7.RELEASE)2020-04-02 16:57:37.069 INFO 19964 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : Starting MainApplication on LAPTOP-1U9EARRO with PID 19964 (D:apache-tomcat-8.5.42apache-tomcat-8.5.42webappsserverWEB-INFclasses started by pitt in C:UserspittAppDataLocalMyEclipse 2017 CI)2020-04-02 16:57:37.072 DEBUG 19964 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : Running with Spring Boot v1.5.7.RELEASE, Spring v4.3.11.RELEASE2020-04-02 16:57:37.072 INFO 19964 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : No active profile set, falling back to default profiles: default2020-04-02 16:57:37.102 INFO 19964 --- [ost-startStop-1] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1565ae71: startup date [Thu Apr 02 16:57:37 GMT+08:00 2020]; root of context hierarchy2020-04-02 16:57:37.675 INFO 19964 --- [ost-startStop-1] o.s.b.f.xml.XmlBeanDefinitionReader : Loading XML bean definitions from class path resource [spring/spring-jdbc.xml]2020-04-02 16:57:37.863 INFO 19964 --- [ost-startStop-1] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!2020-04-02 16:57:38.422 INFO 19964 --- [ost-startStop-1] trationDelegate$BeanPostProcessorChecker : Bean ’org.springframework.amqp.rabbit.annotation.RabbitBootstrapConfiguration’ of type [org.springframework.amqp.rabbit.annotation.RabbitBootstrapConfiguration$$EnhancerBySpringCGLIB$$6cdea02f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)2020-04-02 16:57:38.456 INFO 19964 --- [ost-startStop-1] trationDelegate$BeanPostProcessorChecker : Bean ’shiroConfig’ of type [com.pitt.kill.server.config.ShiroConfig$$EnhancerBySpringCGLIB$$4392bed0] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

加載時間30s

2020-04-02 16:57:42.825 INFO 19964 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : Started MainApplication in 6.091 seconds (JVM running for 30.348)2020-04-02 16:57:42.946 INFO 19964 --- [ main] org.apache.catalina.startup.Catalina : Server startup in 29361 ms

原因:打開配置文件server.xml,Tomcat在啟動web項目時,會首先在Host標簽中找webapps下的項目,進行加載后,又會在Context 標簽中再次加載,導致加載兩次解決: 將appBase='webapps'替換為appBase = ' '

<Host appBase='webapps' autoDeploy='true' name='localhost' unpackWARs='true'>

<Context docBase='D:apache-tomcat-8.5.42apache-tomcat-8.5.42webappsserver' path='' reloadable='true' source='org.eclipse.jst.jee.server:server'/>

加載一次時間為12s

2020-04-02 17:03:12.759 INFO 952 --- [ost-startStop-1] com.pitt.kill.server.MainApplication : Started MainApplication in 7.478 seconds (JVM running for 12.532)2020-04-02 17:03:13.100 INFO 952 --- [ main] org.apache.catalina.startup.Catalina : Server startup in 11772 ms

二、禁用字節碼驗證過程

對類的加載時間進行優化,首先查看類的加載時間

C:Program FilesJavajdk1.8.0_211bin>jps16612 QuorumPeerMain9172 Main19416 MyEclipse952 Bootstrap19580 JpsC:Program FilesJavajdk1.8.0_211bin>jstat -class 952Loaded Bytes Unloaded Bytes Time 10533 20062.0 0 0.0 7.83

我們默認通過MyEclipse編譯的代碼是可靠的,不需要在加載的時候進行字節碼驗證,使用-Xverify:none參數將字節碼驗證過程禁用掉,來提升類的加載速度

C:Program FilesJavajdk1.8.0_211bin>jstat -class 12308Loaded Bytes Unloaded Bytes Time 9822 18874.2 0 0.0 6.70

提升效果一般,只減少了1s此外由于HotSpot采用了JIT編譯器可以提前加載熱代碼,1.8版本JVM的代碼編譯速度已經比較優秀,此處不做優化

三、調整內存設置控制垃圾收集頻率

Java8默認的GC回收器為Parallel Scavenge + Parallel Old

SpringBoot項目調優及垃圾回收器的比較詳解

用Jmeter發送請求作為輔助測試

可以看到,測試時間內,發起了103次Minor GC,耗時不到1s,其實時間停頓并不多,但是5次Full GC占用了很大部分的GC時間,主要針對這部分時間進行優化。通過-Xloggc:gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDetails參數打印GC日志,將Full GC挑出如下:

7.934: [Full GC (Metadata GC Threshold) [PSYoungGen: 926K->0K(647680K)] [ParOldGen: 54198K->15711K(65024K)] 55125K->15711K(712704K), [Metaspace: 20674K->20674K(1069056K)], 0.0303162 secs] [Times: user=0.03 sys=0.00, real=0.03 secs] 10.430: [Full GC (Metadata GC Threshold) [PSYoungGen: 3883K->0K(646656K)] [ParOldGen: 20986K->17184K(80896K)] 24870K->17184K(727552K), [Metaspace: 34377K->34377K(1081344K)], 0.0413074 secs] [Times: user=0.28 sys=0.00, real=0.04 secs] 379.971: [Full GC (Metadata GC Threshold) [PSYoungGen: 2528K->0K(93696K)] [ParOldGen: 65885K->58730K(132096K)] 68413K->58730K(225792K), [Metaspace: 57642K->57535K(1101824K)], 0.3908541 secs] [Times: user=0.97 sys=0.00, real=0.39 secs] 390.977: [Full GC (Ergonomics) [PSYoungGen: 8688K->0K(230400K)] [ParOldGen: 129221K->120704K(226304K)] 137909K->120704K(456704K), [Metaspace: 62151K->62115K(1105920K)], 0.1319683 secs] [Times: user=0.50 sys=0.02, real=0.13 secs] 553.770: [Full GC (Ergonomics) [PSYoungGen: 47104K->0K(513536K)] [ParOldGen: 228052K->120789K(249344K)] 275156K->120789K(762880K), [Metaspace: 62330K->62330K(1105920K)], 0.1344527 secs] [Times: user=0.27 sys=0.02, real=0.13 secs]

每一次Full GC都伴隨著老年代的擴容,日志還顯示有時候內存回收狀況不理想,獲取可用的內存主要通過空間的擴容。查看運行期間的CPU使用情況,如下圖:

SpringBoot項目調優及垃圾回收器的比較詳解

垃圾回收的CPU使用率曲線幾乎看不到,CPU資源還有可利用的余地,為此想到更換原有的垃圾回收器來進行GC優化

CMS:

相比于默認的Parallel GC明顯改善了Full GC所消耗的時間,Stop The World時間減少,但是Minor GC大量增加,嘗試調整新生代的大小來減少Minor GC的產生,在使用-XX:NewRatio=1 -XX:SurvivorRatio=3-XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=85參數進行調整后,Minor GC數量下降,但是相比而言還是很多

SpringBoot項目調優及垃圾回收器的比較詳解

G1:

G1為最新的垃圾回收算法,將新生代和老年代同時進行標記和回收,采用標記-整理算法,不會產生內存碎片,在時間消耗上表現的最好,平均每次回收占用的時間最短,并且最好在內存比較大的機器上使用G1算法進行回收

SpringBoot項目調優及垃圾回收器的比較詳解

G1的優勢在于:作為CMS的長期替代品1、G1是一個壓縮收集器,提供足夠強的壓縮來完全避免狹小的內存分配2、依賴Regions概念,大大簡化收集器邏輯,大部分情況下規避潛在的內存碎片問題3、比CMS的GC停頓時長更加可預測,并允許用戶指定停頓時長

總結:

以上三種回收器都為多線程垃圾回收器,但是對于不同的環境,應該具體問題具體分析,而不是采用一刀切的方法,解決問題的過程即為尋找最優解的過程。

到此這篇關于SpringBoot項目調優及垃圾回收器的比較詳解的文章就介紹到這了,更多相關SpringBoot項目調優及垃圾回收器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99视频在线精品国自产拍免费观看| 激情欧美日韩一区| 夜夜嗨一区二区三区| 国产一区福利| 美女精品在线| 午夜精品一区二区三区国产| 久久精品理论片| 国产高清日韩| 国产精品s色| 免费日韩成人| 蜜桃tv一区二区三区| 国产在线|日韩| 欧美日韩国产传媒| 精品三级av在线导航| 国产欧美日韩视频在线| 久久精品色播| 欧美aa在线观看| 免费久久精品视频| 亚洲精品人人| 日本成人在线视频网站| 久久xxxx精品视频| 日本成人在线不卡视频| 人人爱人人干婷婷丁香亚洲| 美女视频免费精品| 国产精品毛片在线看| 亚洲精品伊人| 久久婷婷国产| 色欧美自拍视频| 亚洲色诱最新| 日本视频在线一区| 亚洲黄色免费av| 亚洲乱码一区| 岛国av在线网站| 亚洲资源在线| 免费一级欧美片在线观看网站| 播放一区二区| 在线国产一区二区| 国产欧美一区二区色老头| 日韩欧美看国产| 91精品国产经典在线观看| 日韩视频不卡| 国产精东传媒成人av电影| 91精品国产自产在线观看永久∴| 久久中文字幕av一区二区不卡| 男人天堂欧美日韩| 激情久久五月| 激情黄产视频在线免费观看| 在线综合视频| 美女久久精品| 日韩av一二三| 国产精品呻吟| 日韩精品一区二区三区免费观看| 99久精品视频在线观看视频| 日本色综合中文字幕| 久久精品导航| 成人羞羞视频播放网站| 国产精久久久| 国产精品午夜一区二区三区| 中文字幕一区二区三区日韩精品 | 久久av电影| 欧美一级精品| sm捆绑调教国产免费网站在线观看| 亚洲精品888| 神马午夜久久| 蜜桃av在线播放| 精品一区视频| 成人va天堂| 超碰在线99| 国产精品久久久久久久久久10秀| 一区二区三区午夜视频| 视频在线观看一区二区三区| 91久久在线| 亚洲欧美日韩国产一区| 欧美va亚洲va日韩∨a综合色| 美女在线视频一区| 丰满少妇一区| 国产一区二区三区自拍| 99热免费精品| 视频一区日韩| 欧美日韩精品免费观看视频完整| 不卡在线一区| 久久精品凹凸全集| 精品国产一区二区三区2021| 欧美国产一级| 亚洲成人av观看| 免费人成精品欧美精品| 欧美日韩一区二区高清| 欧美亚洲福利| 日韩大片免费观看| 99精品网站| 日韩成人一级| 最新中文字幕在线播放| 在线精品视频在线观看高清| 综合视频一区| 国产欧美大片| 亚洲精品成人| 福利欧美精品在线| 一区二区三区四区日韩| 国产精品久久久久久久久久久久久久久 | 国产成人精品999在线观看| 日韩一二三区在线观看| 欧美国产视频| 亚洲中午字幕| 国产精品www.| 久久伦理在线| 欧美精选一区二区三区| 天海翼亚洲一区二区三区| 超碰99在线| 免费在线成人网| 精品国产免费人成网站| 久久精品亚洲人成影院 | 精品久久国产一区| 久久国产高清| 国产91久久精品一区二区| 天堂va在线高清一区| 丁香六月综合| 在线看片日韩| 久久九九国产| 国产精品久久免费视频| 激情综合网五月| 精品一区二区三区的国产在线观看| 精品三级久久久| 91免费精品国偷自产在线在线| 欧美精品九九| 日本一区二区高清不卡| 欧美中文高清| 亚洲精品99| 亚洲www啪成人一区二区| 视频一区中文字幕精品| 在线成人直播| 日韩精品水蜜桃| 日韩精品视频网站| 亚洲午夜久久| 亚洲精品2区| 欧美日韩色图| 神马久久午夜| 91精品国产自产精品男人的天堂 | 国产精品天堂蜜av在线播放| 亚洲日产国产精品| 视频一区二区三区入口| 99久久九九| 欧美91精品| 日韩免费福利视频| 欧美精选视频一区二区| 日本不良网站在线观看| 美腿丝袜亚洲三区| 日韩精品一区二区三区免费视频 | 日韩精品永久网址| 国产探花在线精品| 国产精品成人**免费视频| 欧美激情福利| 国产区精品区| 欧美成人aaa| 成人片免费看| 噜噜噜久久亚洲精品国产品小说| 日韩成人av影视| 日韩专区欧美专区| 91精品国产自产观看在线| 国产精品mm| 桃色av一区二区| 女人天堂亚洲aⅴ在线观看| 中文日韩在线| 国产日本久久| 国产成人精品一区二区三区视频| 水蜜桃久久夜色精品一区| 天堂日韩电影| 综合激情一区| 国产成人免费av一区二区午夜| 欧美aa国产视频| 久久大逼视频| 成人污污视频| 国产99久久| 免费在线观看一区二区三区| 国产精品草草| 日本一区二区三区视频在线看| 国产在线观看91一区二区三区 | 日韩二区在线观看| 日韩欧美午夜| 在线一区免费观看| 蜜臀国产一区| 麻豆精品一区二区综合av| 99久久99视频只有精品| 久久精品99国产精品日本| 欧美日韩国产一区精品一区| 成人在线免费观看网站| 在线一区欧美| 激情久久99| 久久国产生活片100| 日韩午夜免费| 麻豆一区二区三| 亚洲综合中文| 伊人www22综合色| 在线 亚洲欧美在线综合一区| 热三久草你在线| 国产精品亚洲欧美| 日韩精品亚洲一区二区三区免费| 午夜一级久久| 97se综合| 久久婷婷激情| 四虎8848精品成人免费网站 |