Quarkus: Pag-modernize sa mga Aplikasyon Gamit ang Helloworld isip Ehemplo gikan sa JBoss EAP Quickstart (gipadayon)

Kumusta sa tanan - kini ang ikalima nga post sa among serye sa Quarkus! (By the way, tan-awa ang among webinar "Kini ang Quarkus - Kubernetes lumad nga Java framework". Ipakita namon kanimo kung giunsa pagsugod gikan sa wala o pagbalhin mga andam nga solusyon)

Quarkus: Pag-modernize sa mga Aplikasyon Gamit ang Helloworld isip Ehemplo gikan sa JBoss EAP Quickstart (gipadayon)

Π’ miaging post among gitan-aw ang pag-modernize sa mga aplikasyon sa Java gamit ang Quarkus-supported technologies (CDI ug Servlet 3) gamit ang helloworld nga programa gikan sa repository isip pananglitan. Red Hat JBoss Enterprise Application Platform (JBoss EAP) Quickstart. Karon atong ipadayon ang hilisgutan sa modernisasyon ug hisgutan ang isyu sa pagkonsumo sa memorya.

Ang pagsukod sa pasundayag mao ang sukaranan nga sukaranan sa hapit bisan unsang pag-upgrade, ug ang pagreport sa paggamit sa memorya usa ka hinungdanon nga bahin sa proseso sa pag-analisar sa pasundayag. Karon atong tan-awon ang may kalabutan nga mga himan sa pagsukod nga magamit sa pag-ihap sa mga kalamboan nga nakab-ot pinaagi sa pagmoderno sa mga aplikasyon sa Java.

Para sa dugang nga impormasyon sa pagsukod sa paggamit sa memorya, tan-awa ang Quarkus tutorial nga giulohan Pagsukod sa Performanceβ€”Unsaon nato pagsukod ang paggamit sa memorya?

Sa ubos ipakita lang namo kanimo kung giunsa pagtandi ang data sa paggamit sa memorya alang sa tulo ka lain-laing mga matang sa aplikasyon (JBoss EAP, JAR package, ug executable) pinaagi sa pagkolekta sa datos sa Linux gamit ang pmap ug ps utilities.

JBoss EAP

Naglunsad kami og usa ka pananglitan sa aplikasyon sa JBoss EAP (tan-awa ang seksyon nga "Pag-deploy sa helloworld" sa miaging post) ug dayon pangitaa ang proseso nga PID (sa among pananglitan kini 7268) gamit ang mosunod nga sugo:

$ pgrep -lf jboss
7268 java

Matikdi. Ang -a nga kapilian nagtugot kanimo sa pagkuha sa kompleto nga command line (ie: $ pgrep -af jboss).

Karon atong gigamit ang PID 7268 sa ps ug pmap commands.

Ania dinhi:

$ ps -o pid,rss,command -p 7268
PID RSS COMMAND 
7268 665348 java -D[Standalone] -server -verbose:gc -Xloggc:/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferI

Ug ingon niini:

$ pmap -x 7268
7268:   java -D[Standalone] -server -verbose:gc -Xloggc:/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standa
Address           Kbytes     RSS   Dirty Mode  Mapping
00000000ae800000 1348608  435704  435704 rw---   [ anon ]
0000000100d00000 1035264       0       0 -----   [ anon ]
000055e4d2c2f000       4       4       0 r---- java
000055e4d2c30000       4       4       0 r-x-- java
000055e4d2c31000       4       0       0 r---- java
000055e4d2c32000       4       4       4 r---- java
000055e4d2c33000       4       4       4 rw--- java
[...]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- -------
total kB         3263224  672772  643024

Gitan-aw namon ang kantidad sa RSS ug nakita nga ang JBoss EAP naggamit sa gibana-bana nga 650 MB nga memorya.

JAR nga pakete

Among gilusad ang JAR application (tan-awa ang seksyon nga β€œRun helloworld packaged in JAR” in miaging post):

$ java -jar ./target/helloworld-<version>-runner.jar

Atong tan-awon pag-usab ang PID gamit ang pgrep command (karon atong gamiton ang -a option nga gihulagway sa ibabaw):

$ pgrep -af helloworld
6408 java -jar ./target/helloworld-<version>-runner.jar

Nagdagan kami sa ps ug pmap aron sukdon ang paggamit sa memorya, apan karon alang sa proseso 6408.

Ania dinhi:

$ ps -o pid,rss,command -p 6408
  PID   RSS COMMAND
 6408 125732 java -jar ./target/helloworld-quarkus-runner.jar

Ug ingon niini:

$ pmap -x 6408
6408:   java -jar ./target/helloworld-quarkus-runner.jar
Address           Kbytes     RSS   Dirty Mode  Mapping
00000005d3200000  337408       0       0 rw---   [ anon ]
00000005e7b80000 5046272       0       0 -----   [ anon ]
000000071bb80000  168448   57576   57576 rw---   [ anon ]
0000000726000000 2523136       0       0 -----   [ anon ]
00000007c0000000    2176    2088    2088 rw---   [ anon ]
00000007c0220000 1046400       0       0 -----   [ anon ]
00005645b85d6000       4       4       0 r---- java
00005645b85d7000       4       4       0 r-x-- java
00005645b85d8000       4       0       0 r---- java
00005645b85d9000       4       4       4 r---- java
00005645b85da000       4       4       4 rw--- java
[...]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- -------
total kB         12421844  133784  115692

Gitan-aw namon pag-usab ang RSS ug nakita nga ang pakete sa JAR nagkonsumo sa gibana-bana nga 130 MB.

Executable nga file

Gilunsad namo ang lumad (tan-awa ang seksyon nga "Pagdagan sa lumad nga helloworld executable file" sa miaging post):

$ ./target/helloworld-<version>-runner

Atong tan-awon pag-usab ang PID niini:

$ pgrep -af helloworld
6948 ./target/helloworld-<version>-runner

Ug dayon atong gamiton ang resulta nga proseso ID (6948) sa ps ug pmap commands.

Ania dinhi:

$ ps -o pid,rss,command -p 6948
  PID   RSS COMMAND
 6948 19084 ./target/helloworld-quarkus-runner
И Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:
$ pmap -x 6948
6948:   ./target/helloworld-quarkus-runner
Address           Kbytes     RSS   Dirty Mode  Mapping
0000000000400000      12      12       0 r---- helloworld-quarkus-runner
0000000000403000   10736    8368       0 r-x-- helloworld-quarkus-runner
0000000000e7f000    7812    6144       0 r---- helloworld-quarkus-runner
0000000001620000    2024    1448     308 rw--- helloworld-quarkus-runner
000000000181a000       4       4       4 r---- helloworld-quarkus-runner
000000000181b000      16      16      12 rw--- helloworld-quarkus-runner
0000000001e10000    1740     156     156 rw---   [ anon ]
[...]
ffffffffff600000       4       0       0 r-x--   [ anon ]
---------------- ------- ------- -------
total kB         1456800   20592    2684

Atong tan-awon ang RSS ug tan-awon nga ang executable file mokuha ug mga 20 MB nga memorya.

Pagkumpara sa konsumo sa memorya

Busa, nakuha namo ang mosunod nga mga numero alang sa paggamit sa memorya:

  • JBoss EAP - 650 MB.
  • JAR nga pakete - 130 MB.
  • Executable nga file - 20 MB.

Dayag nga, ang executable file nagkinahanglan og mas gamay nga memorya.

Atong i-summarize ang mga post 4 ug 5

Niini ug sa miaging mga post, among gitan-aw ang pag-modernize sa mga aplikasyon sa Java gamit ang mga teknolohiya nga gisuportahan sa Quarkus (CDI ug Servlet 3), ingon man usab ang lainlaing mga paagi sa pagpalambo, paghimo ug pagpadagan sa ingon nga mga aplikasyon. Gipakita namon kung giunsa ang pagkolekta sa datos sa paggamit sa memorya aron mahibal-an ang mga pag-uswag nga nakab-ot sa ingon nga pag-upgrade. Kini nga mga artikulo makatabang kanimo nga masabtan kung giunsa ang paglihok sa Quarkus ug kung ngano nga kini mapuslanon - kung naghisgot ka bahin sa yano nga programa sa helloworld sa among mga pananglitan o labi ka komplikado nga mga aplikasyon sa tinuod nga kinabuhi.

Mobalik kami sa duha ka semana nga adunay katapusang post bahin sa Quarkus - magkita ta didto!

Sa among katapusang post, ipakita namo kung unsaon paghiusa ang AMQ Online ug Quarkus aron makatukod og modernong OpenShift-based messaging system gamit ang duha ka bag-ong messaging technologies. Basaha pa link.

Source: www.habr.com

Idugang sa usa ka comment