Quarkus: Modernisasi Aplikasi Nganggo Helloworld salaku Conto ti JBoss EAP Quickstart (terus)

Halo sadayana - ieu mangrupikeun pos kalima dina séri Quarkus kami! (Ku jalan kitu, nonton webinar kami "Ieu Quarkus - kerangka Java asli Kubernetes". Kami bakal nunjukkeun anjeun kumaha ngamimitian ti mimiti atanapi nransferkeun solusi anu siap-siap)

Quarkus: Modernisasi Aplikasi Nganggo Helloworld salaku Conto ti JBoss EAP Quickstart (terus)

В pos saméméhna kami ningali modérnisasi aplikasi Java nganggo téknologi anu didukung Quarkus (CDI sareng Servlet 3) nganggo program helloworld tina gudang salaku conto. Red Hat JBoss Enterprise Application Platform (JBoss EAP) Quickstart. Dinten ieu kami bakal neruskeun topik modernisasi sarta ngabahas masalah konsumsi memori.

Pangukuran kinerja mangrupikeun dasar dasar tina ampir sagala pamutahiran, sareng ngalaporkeun pamakean mémori mangrupikeun bagian penting tina prosés analisa kinerja. Dinten ieu kami bakal ningali alat ukur anu relevan anu tiasa dianggo pikeun ngitung paningkatan anu dihontal ku modérnisasi aplikasi Java.

Kanggo inpo nu langkung lengkep ihwal ngukur pamakean memori, tingali tutorial Quarkus anu judulna Ngukur Kinerja-Kumaha urang ngukur pamakean mémori?

Di handap ieu kami bakal nunjukkeun anjeun kumaha ngabandingkeun data pamakean mémori pikeun tilu jinis aplikasi anu béda (JBoss EAP, pakét JAR, sareng executable) ku cara ngumpulkeun data dina Linux nganggo pmap sareng ps utiliti.

JBoss EAP

Kami ngaluncurkeun conto aplikasi JBoss EAP (tingali bagian "Panyebaran helloworld" dina pos saméméhna) teras milarian prosés PID na (dina conto urang nyaéta 7268) nganggo paréntah di handap ieu:

$ pgrep -lf jboss
7268 java

Catetan. Pilihan -a ngidinan Anjeun pikeun nimba garis paréntah lengkep (ie: $ pgrep -af jboss).

Ayeuna kami nganggo PID 7268 dina paréntah ps sareng pmap.

Di dieu nu kumaha:

$ 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

Sareng sapertos kieu:

$ 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

Kami ningali nilai RSS sareng ningali yén JBoss EAP nganggo mémori kirang langkung 650 MB.

pakét JAR

Urang ngajalankeun aplikasi JAR (tingali bagian "Jalankeun helloworld rangkep dina JAR" dina pos saméméhna):

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

Kami ningali deui PID nganggo paréntah pgrep (waktos ieu kami nganggo pilihan -a anu dijelaskeun di luhur):

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

Urang ngajalankeun ps sareng pmap pikeun ngukur pamakean mémori, tapi ayeuna pikeun prosés 6408.

Di dieu nu kumaha:

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

Sareng sapertos kieu:

$ 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

Kami ningali deui RSS sareng ningali yén pakét JAR nyéépkeun sakitar 130 MB.

file laksana

Urang ngajalankeun anu asli (tingali bagian "Ngajalankeun file laksana helloworld asli" dina pos saméméhna):

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

Hayu urang tingali deui PID na:

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

Teras kami nganggo ID prosés anu dihasilkeun (6948) dina paréntah ps sareng pmap.

Di dieu nu kumaha:

$ 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

Urang nempo RSS tur tingal yén file laksana nyokot nepi ka 20 MB memori.

Ngabandingkeun konsumsi memori

Janten, urang ngagaduhan nomer ieu pikeun panggunaan mémori:

  • JBoss EAP - 650 MB.
  • pakét JAR - 130 MB.
  • File anu tiasa dieksekusi - 20 MB.

Jelas, file anu tiasa dieksekusi nyéépkeun mémori anu langkung sakedik.

Hayu urang nyimpulkeun tulisan 4 sareng 5

Dina ieu sareng postingan sateuacana, urang ningali modérnisasi aplikasi Java nganggo téknologi anu dirojong dina Quarkus (CDI sareng Servlet 3), ogé sababaraha cara pikeun ngembangkeun, ngawangun sareng ngajalankeun aplikasi sapertos kitu. Kami nunjukkeun kumaha carana ngumpulkeun data pamakean mémori pikeun ngévaluasi perbaikan anu dihontal ku pamutahiran sapertos kitu. Tulisan ieu ngabantosan anjeun ngartos kumaha Quarkus tiasa dianggo sareng naha éta mangpaat-naha anjeun nyarioskeun program helloworld saderhana dina conto urang atanapi aplikasi kahirupan nyata anu langkung kompleks.

Kami bakal uih deui dina dua minggu kalayan tulisan terakhir ngeunaan Quarkus - dugi ka didinya!

Dina tulisan ahir urang, urang bakal nunjukkeun kumaha ngagabungkeun AMQ Online sareng Quarkus pikeun ngawangun sistem olahtalatah basis OpenShift modern nganggo dua téknologi olahtalatah anyar. Baca terus link.

sumber: www.habr.com

Tambahkeun komentar