springboot項(xiàng)目編譯、運(yùn)行優(yōu)化怎么操作

這篇文章主要講解了“springboot項(xiàng)目編譯、運(yùn)行優(yōu)化怎么操作”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“springboot項(xiàng)目編譯、運(yùn)行優(yōu)化怎么操作”吧!

創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來(lái),先為三山等服務(wù)建站,三山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為三山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

   本篇博客主要記錄博主在使用springboot時(shí),相關(guān)的操作:

(1)編譯打包、執(zhí)行springboot項(xiàng)目

           本地:mvn clean package -U --settings D:\devsoft\apache-maven-3.5.3\conf\huxs1settings.xml -Dmaven.test.skip=true -Pdev

        服務(wù)器:mvn clean package -U -Dmaven.test.skip=true -Ptest

(2)運(yùn)行springboot項(xiàng)目

        java -jar xxx.jar

       //pinpoint-agent監(jiān)控的方式啟動(dòng)springboot項(xiàng)目
       nohup java -Xms6144m -Xmx6144m -XX:PermSize=1024m -XX:MaxPermSize=1024m -javaagent:/home/xpp/apm/pinpoint-agent/pinpoint-bootstrap.jar -Dpinpoint.agentId=PP_123.xx.xx.115 -Dpinpoint.applicationName=crs_bb_bb-xxx-data -jar xxx.jar 

(3)SpringBoot開(kāi)啟遠(yuǎn)程debug與遠(yuǎn)程監(jiān)控
         a.開(kāi)啟遠(yuǎn)程debug

            nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=3286,suspend=n -jar wtp-service-pay-0.0.1-SNAPSHOT.jar --spring.profiles.active=test > wtp-service-pay.log 2>&1 &
         b.開(kāi)啟jvisualVM遠(yuǎn)程監(jiān)控

           nohup java \
          -Djava.rmi.server.hostname=12x.xx.xx.112 \
          -Dcom.sun.management.jmxremote \
          -Dcom.sun.management.jmxremote.port=9999 \
          -Dcom.sun.management.jmxremote.authenticate=false \
          -Dcom.sun.management.jmxremote.ssl=false \
          -Dcom.sun.management.jmxremote.rmi.port=9999 \
          -jar wtp-service-pay-0.0.1-SNAPSHOT.jar --spring.profiles.active=test  > wtp-service-pay.log 2>&

         //同時(shí)也可以使用

          <!-- JMX monitor -->
          <dependency>
             <groupId>org.jolokia</groupId>
            <artifactId>jolokia-core</artifactId>
          </dependency> 

(4)生產(chǎn)調(diào)優(yōu)(8G內(nèi)存,64位linux,JDK1.8)--壓測(cè)調(diào)優(yōu)結(jié)果
        nohup java  \
              -Xms6144m -Xmx6144m -Xmn2048M -XX:OldSize=4096M -Xss1024k \
              -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m \
              -XX:+UseConcMarkSweepGC \
              -XX:+UseParNewGC \
              -XX:+UseCMSCompactAtFullCollection \
              -XX:CMSFullGCsBeforeCompaction=10 \
              -XX:+CMSClassUnloadingEnabled \
              -XX:+CMSParallelRemarkEnabled \
              -XX:+UseCMSInitiatingOccupancyOnly \
              -XX:CMSInitiatingOccupancyFraction=70 \
              -Djava.rmi.server.hostname=12x.xx.xx.112 \
              -Dcom.sun.management.jmxremote \
              -Dcom.sun.management.jmxremote.port=9999 \
              -Dcom.sun.management.jmxremote.authenticate=false \
              -Dcom.sun.management.jmxremote.ssl=false \
              -Dcom.sun.management.jmxremote.rmi.port=9999 \
              -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=121.xx.xx.112 :8000,suspend=n -jar $JAR_NAME --spring.profiles.active=test              >/home/app/logs/xxxxsearch-catli.out 2>&1 &
     

        最后關(guān)于JVM說(shuō)明:

        -XX:PermSize=1024M 永久代大小
        -XX:MaxPermSize=1024M -Xms4096M -Xmx4096M     MaxPermSize為最大永久代大小,
        -Xmn1024M -XX:SurvivorRatio=8 
        -XX:+DisableExplicitGC 關(guān)閉程序主動(dòng)調(diào)用gc
        -XX:+UseConcMarkSweepGC 
        -XX:+UseParNewGC 
        -XX:+UseCMSCompactAtFullCollection 全量垃圾回收后,是否進(jìn)行內(nèi)存整理
        -XX:CMSFullGCsBeforeCompaction=10 多少次全量垃圾回收與后進(jìn)行一次內(nèi)存整理
        -XX:+CMSClassUnloadingEnabled 是否允許(永久代)清理
        -XX:+CMSParallelRemarkEnabled 降低標(biāo)記停頓
        -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCMSInitiatingOccupancyOnly指定HotSpot VM總是使用-XX:CMSInitiatingOccupancyFraction的值作為old的空間使用率限制來(lái)啟動(dòng)CMS垃圾回收。如果沒(méi)有使用-XX:+UseCMSInitiatingOccupancyOnly,那么HotSpot VM只是利用這個(gè)值來(lái)啟動(dòng)第一次CMS垃圾回收,后面都是使用HotSpot VM自動(dòng)計(jì)算出來(lái)的值。
        -XX:CMSInitiatingOccupancyFraction=70    這個(gè)值指定了CMS垃圾回收時(shí)old代的空間占用率該是什么值。舉例說(shuō)明,如果你希望old代占用率是65%的時(shí)候,啟動(dòng)CMS垃圾回收,你可以設(shè)置-XX:CMSInitiatingOccupancyFraction=65。
        -XX:TargetSurvivorRatio=90 設(shè)定survivor區(qū)的目標(biāo)使用率。默認(rèn)50,即survivor區(qū)對(duì)象目標(biāo)使用率為50%。
        -XX:MaxTenuringThreshold=20 晉升年齡最大閾值,默認(rèn)15。在新生代中對(duì)象存活次數(shù)(經(jīng)過(guò)YGC的次數(shù))后仍然存活,就會(huì)晉升到老年代。每經(jīng)過(guò)一次YGC,年齡加1,當(dāng)survivor區(qū)的對(duì)象年齡達(dá)到TenuringThreshold時(shí),表示該對(duì)象是長(zhǎng)存活對(duì)象,就會(huì)直接晉升到老年代。

(5)調(diào)優(yōu)中監(jiān)控命令(此處未完待續(xù))

         a.命令行:jps、 jstat、jinfo、jmap、jhat、jstack

         b.jdk工具(bin目錄):jvisualvm.exe、jconsole.exe 

(6)常見(jiàn)配置匯總
         堆設(shè)置
         -Xms:初始堆大小
         -Xmx:最大堆大小
         -XX:NewSize=n:設(shè)置年輕代大小
         -XX:NewRatio=n:設(shè)置年輕代和年老代的比值。如:為3,表示年輕代與年老代比值為1:3,年輕代占整個(gè)年輕代年老代和的1/4
         -XX:SurvivorRatio=n:年輕代中Eden區(qū)與兩個(gè)Survivor區(qū)的比值。注意Survivor區(qū)有兩個(gè)。如:3,表示Eden:Survivor=3:2,一個(gè)Survivor區(qū)占整個(gè)年輕代的1/5
         -XX:MaxPermSize=n:設(shè)置持久代大小

         收集器設(shè)置
         -XX:+UseSerialGC:設(shè)置串行收集器
         -XX:+UseParallelGC:設(shè)置并行收集器
         -XX:+UseParalledlOldGC:設(shè)置并行年老代收集器
         -XX:+UseConcMarkSweepGC:設(shè)置并發(fā)收集器

         垃圾回收統(tǒng)計(jì)信息
         -XX:+PrintGC
         -XX:+PrintGCDetails
         -XX:+PrintGCTimeStamps
         -Xloggc:filename

         并行收集器設(shè)置
         -XX:ParallelGCThreads=n:設(shè)置并行收集器收集時(shí)使用的CPU數(shù)。并行收集線程數(shù)。
         -XX:MaxGCPauseMillis=n:設(shè)置并行收集最大暫停時(shí)間
         -XX:GCTimeRatio=n:設(shè)置垃圾回收時(shí)間占程序運(yùn)行時(shí)間的百分比。公式為1/(1+n)

         并發(fā)收集器設(shè)置
         -XX:+CMSIncrementalMode:設(shè)置為增量模式。適用于單CPU情況。
         -XX:ParallelGCThreads=n:設(shè)置并發(fā)收集器年輕代收集方式為并行收集時(shí),使用的CPU數(shù)。并行收集線程數(shù)

感謝各位的閱讀,以上就是“springboot項(xiàng)目編譯、運(yùn)行優(yōu)化怎么操作”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)springboot項(xiàng)目編譯、運(yùn)行優(yōu)化怎么操作這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁(yè)名稱:springboot項(xiàng)目編譯、運(yùn)行優(yōu)化怎么操作
標(biāo)題來(lái)源:http://bm7419.com/article6/igecig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、動(dòng)態(tài)網(wǎng)站、定制開(kāi)發(fā)、Google響應(yīng)式網(wǎng)站、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)