springboot性能優化


原文鏈接:http://www.studyshare.cn/blog/details/1135/1

java開發工具下載地址及安裝教程大全,點這里。  更多技術文章,在這里

一、掃描優化

SpringBoot項目中的啟動類,會使用@SpringBootApplication 注解,該注解的作用掃描外部依賴項目(例如:Tomcat,SpringMVC,Transaction等)以及運行一些自動配置類。

@SpringBootApplication注解中包含了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan等等,通過以下配置


 

通過debug啟動項目在控制台中會打印出日志:


 

通過上面的日志可以看出需要掃描匹配的項=Positive matches: 需要匹配項 + Unconditional classes: 必須匹配項,那么掃描優化就是將這些需要匹配的項直接通過@import注解直接引入,則節省出掃描時間。例:


 

如果啟動一個大的應用程序或者將做大量的集成測試啟動應用程序的時候,這種優化方式可以減少啟動時間,避免加載其他不必要的資源,減少CPU的消耗。

二、JVM參數調優

先了解兩個配置指令      

(1)-Xmx:設置最大的java堆大小  

(2) -Xms:設置Java堆棧的初始化大小

idea工具中配置jvm內存大小


 

對當前應用程序的堆內存最大配置為32M,初始配置為10M(可以根據自己的項目適當縮小,有的項目縮小到1M或者更小會無法啟動,本人的機器設置為1M就無法啟動項目),設置好后,啟動項目,控制台打印結果如下:


 

控制台會頻繁的輸出GC和Full GC,因為配置的堆內存太小的原因,堆內存配置越大,GC和Full GC會出現的越少。在生產項目中,-Xmx和-Xms這兩個值應該配置相同,並根據運行服務器硬件環境適當去配置。頻繁的GC和Full GC是非常消耗CPU的性能的,JVM優化的重要指標就是不能頻繁出現Full GC。

監控應用的內存使用,可以使用jdk提供的工具在jdk安裝bin目錄下jvisualvm.exe


應用內存監控工具(jdk自帶jvisualvm)

三、根據項目采用合適的容器

現在最流行也最常用的就是tomcat容器,tomcat是默認支持jsp的,當然也可以去優化tomcat,關閉tomcat對jsp的支持。如果不優化tomcat也可以在項目中更換使用其他容器,例如:Undertow,該容器默認是不支持jsp。減少一些其他不需要的支持來提升容器啟動和運行效率。

首先在pom.xml中排除使用tomcat容器


pom中排除使用tomcat容器

加入對Undertow容器的依賴


加入undertow容器依賴

啟動容器運行結果:


 

測試性能是否提升可以使用jMeter壓測工具:


 

在項目中分別使用Tomcat和Undertow容器,然后使用jMeter工具進行壓測,然后對比分別使用兩個容器的並發處理能力。

java開發工具下載地址及安裝教程大全,點這里。  

更多技術好文,在這里

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM