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

Kumusta sa tanan – welcome sa ikalima nga post sa among serye bahin sa Quarkus! (By the way, tan-awa ang among webinar.) "Kini ang Quarkus, usa ka lumad nga Java framework sa Kubernetes."Among ipakita kanimo unsaon pagsugod gikan sa wala o pagbalhin sa mga naa na 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-upgrade sa mga aplikasyon sa Java gamit ang mga teknolohiya nga gisuportahan sa Quarkus (CDI ug Servlet 3) gamit ang ehemplo sa programang helloworld gikan sa repository. Dali nga Pagsugod sa Red Hat JBoss Enterprise Application Platform (JBoss EAP)Karon atong ipadayon ang hilisgutan sa modernisasyon ug hisgutan ang pagkonsumo sa memorya.

Ang pagsukod sa performance usa ka sukaranan nga bahin sa halos bisan unsang pag-upgrade, ug ang mga report sa paggamit sa memorya usa ka hinungdanon nga bahin sa proseso sa pag-analisa sa performance. Karon, atong tan-awon ang mga may kalabutan nga himan sa pagsukod nga makatabang sa pag-ihap sa mga kalamboan nga nakab-ot pinaagi sa pag-upgrade sa mga aplikasyon sa Java.

Alang sa dugang nga impormasyon bahin sa pagsukod sa paggamit sa memorya, palihug tan-awa ang giya sa Quarkus nga giulohan og Pagsukod sa Pagganap—Giunsa nato pagsukod ang paggamit sa memorya?

А ниже мы просто покажем, как сравнить данные по использованию памяти тремя различными типами приложений (JBoss EAP, JAR-пакет и исполняемый файл), собирая эти данные в Linux с помощью утилит pmap и ps.

JBoss EAP

Ilunsad ang usa ka instance sa JBoss EAP application (tan-awa ang seksyon nga "Pag-deploy sa helloworld" sa miaging post) ug dayon tan-awa ang process identifier niini nga PID (sa atong ehemplo kini kay 7268) gamit ang mosunod nga sugo:

$ pgrep -lf jboss
7268 java

Matikdi. Ang opsyon nga –a nagtugot kanimo sa pagkuha sa tibuok command line (pananglitan: $ pgrep -af jboss).

Karon atong gigamit ang PID 7268 sa mga sugo nga ps ug pmap.

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 sama 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

Atong tan-awon ang RSS value ug makita nga ang JBoss EAP mokonsumo og gibana-bana nga 650 MB nga memory.

Pakete sa garapon

Padagana ang JAR application (tan-awa ang seksyon nga “Running helloworld packaged in a JAR” sa miaging post):

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

Atong tan-awon pag-usab ang PID gamit ang pgrep command (niining higayona gamit ang -a nga opsyon nga gihulagway sa ibabaw):

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

Atong gipadagan ang ps ug pmap aron masukod ang paggamit sa memorya, apan karon para 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 sama 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

Atong tan-awon pag-usab ang RSS ug atong makita nga ang JAR package mokonsumo og gibana-bana nga 130 MB.

Mapatuman nga file

Padagana ang lumad nga executable (tan-awa ang seksyon nga “Padagana ang 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 nakuha nga process ID (6948) sa mga sugo nga ps ug pmap.

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 makita nga ang executable file mokuha og mga 20 MB nga memorya.

Pagtandi sa konsumo sa memorya

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

  • JBoss EAP – 650 MB.
  • Pakete sa JAR – 130 MB.
  • Mapatuman nga file - 20 MB.

Klaro nga ang executable file mogamit ug gamay ra nga memorya.

Atong sumaryohan ang mga post 4 ug 5

Niini ug sa mga miaging post, among gihisgutan ang pag-modernize sa mga aplikasyon sa Java gamit ang mga teknolohiya nga gisuportahan sa Quarkus (CDI ug Servlet 3), ingon man ang lainlaing mga pamaagi sa pagpalambo, pagtukod, ug pagpadagan sa ingon nga mga aplikasyon. Gipakita namo kung giunsa pagkolekta ang datos sa paggamit sa memorya aron masusi ang mga pag-uswag nga nakab-ot pinaagi sa ingon nga modernisasyon. Kini nga mga artikulo makatabang kanimo nga masabtan kung giunsa molihok ang Quarkus ug ngano nga kini mapuslanon—kini man ang yano nga programa nga "hello world" gikan sa among mga pananglitan o labi ka komplikado nga mga aplikasyon sa tinuod nga kalibutan.

Mobalik mi human sa duha ka semana uban sa among katapusang post bahin sa Quarkus – magkita ta didto!

Sa among katapusang post, among ipakita kanimo kung unsaon paghiusa ang AMQ Online ug Quarkus aron makahimo og modernong sistema sa pagmemensahe sa OpenShift gamit ang duha ka bag-ong teknolohiya sa pagmemensahe. Padayon sa pagbasa. link.

Source: www.habr.com

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster