Kumusta sa tanan – welcome sa ikalima nga post sa among serye bahin sa Quarkus! (By the way, tan-awa ang among webinar.) Among ipakita kanimo unsaon pagsugod gikan sa wala o pagbalhin sa mga naa na nga solusyon.

В 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. 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
А ниже мы просто покажем, как сравнить данные по использованию памяти тремя различными типами приложений (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 ) 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 ):
$ 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 ):
$ ./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. .
Source: www.habr.com
