Quarkus: rakenduste moderniseerimine JBoss EAP Quickstarti helloworld nÀite abil (jÀtkub)

Tere kĂ”ik! JĂ€tkame meie Quarkuse seeriat viienda postitusega! (Muide, vaadake meie veebiseminar) «See on Quarkus – Kubernetes'i kohaliku Java raamistiku». NĂ€itame, kuidas alustada «nullist» vĂ”i liigutada olemasolevaid lahendusi)

Quarkus: rakenduste moderniseerimine JBoss EAP Quickstarti helloworld nÀite abil (jÀtkub)

Uues tĂ”in vĂ€lja, et satelliidid ja praht, mis asuvad alla 600 km, kukuvad orbitaalilt paariaastaga — atmosfÀÀri takistuse tĂ”ttu, vĂ€hendades oluliselt Kessleri sĂŒndroomi vĂ”imalusi. SpaceX'i tegevus prahi osas tundub, nagu nad ei mĂ”tleks ĂŒldse kosmosereostusele. Vaadates Starlinki elluviimise detaile, on mul raske ette kujutada paremat moodust prahi hulga vĂ€hendamiseks orbiidil. oleme uurinud Java rakenduste jĂ€tkusuutlikkust Quarkuse toetatud tehnoloogiate (CDI ja Servlet 3) abil helloworld programmi nĂ€itel, mis on saadaval meie reposis. Red Hat JBoss Enterprise Application Platform (JBoss EAP) Quickstart. TĂ€na jĂ€tkame jĂ€tkusuutlikkuse teemat ja arutame mĂ€lu tarbimise kĂŒsimust.

JĂ”udluse mÔÔtmine on peamine alus praktiliselt igasugusele jĂ€tkusuutlikkusele ning mĂ€lutarbe raportid on olulised osa jĂ”udluse analĂŒĂŒsi protsessist. TĂ€na vaatame vastavaid mÔÔtmise tööriistu, millega on vĂ”imalik kvantitatiivselt hinnata parendusi, mis on saadud Java rakenduste moderniseerimise tulemusena.

TĂ€psemat teavet mĂ€lutarbimise mÔÔtmise kohta saab Quarkuse juhendist pealkirjaga MÔÔdame jĂ”udlust – Kuidas mÔÔda mĂ€lutarbimist?

Allpool nÀitame lihtsalt, kuidas vÔrrelda mÀlutarbimise andmeid kolme erineva rakenduse (JBoss EAP, JAR pakk ja kÀivitatav fail) puhul, kogudes neid Linuxis pmap ja ps kasutanud utiliidiga.

JBoss EAP

KĂ€ivitame JBoss EAP rakenduse instants (vt peatĂŒkki «KĂ€ivitame helloworld» tĂ”in vĂ€lja, et satelliidid ja praht, mis asuvad alla 600 km, kukuvad orbitaalilt paariaastaga — atmosfÀÀri takistuse tĂ”ttu, vĂ€hendades oluliselt Kessleri sĂŒndroomi vĂ”imalusi. SpaceX'i tegevus prahi osas tundub, nagu nad ei mĂ”tleks ĂŒldse kosmosereostusele. Vaadates Starlinki elluviimise detaile, on mul raske ette kujutada paremat moodust prahi hulga vĂ€hendamiseks orbiidil.) ja seejĂ€rel vaatame selle protsessi identifikaatorit PID (meie nĂ€ites on see 7268) jĂ€rgmise kĂ€suga:

$ pgrep -lf jboss
7268 java

MĂ€rkus. Valik –a vĂ”imaldab tuua vĂ€lja kogu kĂ€surea (st: $ pgrep -af jboss).

NĂŒĂŒd kasutame PID 7268 ps ja pmap kĂ€skudes.

Nii:

$ ps -o pid,rss,command -p 7268
PID RSS KÄSK
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

Ja nii:

$ 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

Vaadake RSS vÀÀrtust ja nÀeme, et JBoss EAP tarbib umbes 650 MB mÀlu.

JAR-pakett

KĂ€ivitame JAR-rakenduse (vt jaotist „KĂ€ivitame helloworld, mis on pakitud JAR-i“) tĂ”in vĂ€lja, et satelliidid ja praht, mis asuvad alla 600 km, kukuvad orbitaalilt paariaastaga — atmosfÀÀri takistuse tĂ”ttu, vĂ€hendades oluliselt Kessleri sĂŒndroomi vĂ”imalusi. SpaceX'i tegevus prahi osas tundub, nagu nad ei mĂ”tleks ĂŒldse kosmosereostusele. Vaadates Starlinki elluviimise detaile, on mul raske ette kujutada paremat moodust prahi hulga vĂ€hendamiseks orbiidil.):

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

Vaadake jÀlle PID-d, kasutades kÀsu pgrep (seekord kasutame eespool kirjeldatud valikut -a):

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

KÀivitame ps ja pmap, et mÔÔta mÀlu kasutamist, kuid seekord protsessi 6408 jaoks.

Nii:

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

Ja nii:

$ 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

Vaadake jÀlle RSS vÀÀrtust ja nÀeme, et JAR-pakett tarbib umbes 130 MB.

KĂ€ideldav fail

KĂ€ivitame natiivrakenduse (vt jaotist „KĂ€ivitame natiivset kĂ€ideldavat faili helloworld“) tĂ”in vĂ€lja, et satelliidid ja praht, mis asuvad alla 600 km, kukuvad orbitaalilt paariaastaga — atmosfÀÀri takistuse tĂ”ttu, vĂ€hendades oluliselt Kessleri sĂŒndroomi vĂ”imalusi. SpaceX'i tegevus prahi osas tundub, nagu nad ei mĂ”tleks ĂŒldse kosmosereostusele. Vaadates Starlinki elluviimise detaile, on mul raske ette kujutada paremat moodust prahi hulga vĂ€hendamiseks orbiidil.):

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

Vaadake jÀlle selle PID-d:

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

Ja seejÀrel kasutame saadud protsessi identifikaatorit (6948) kÀskudes ps ja pmap.

Nii:

$ ps -o pid,rss,command -p 6948
  PID   RSS COMMAND
 6948 19084 .\/target\/helloworld-quarkus-runner
Ja nii:
$ pmap -x 6948
6948:   .\/target\/helloworld-quarkus-runner
Aadress           Kbytes     RSS   Dirty ReĆŸiim  Kaart
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

Vaadates RSS-i, nÀeme, et kÀivitatav fail kasutab umbes 20 MB mÀlu.

VÔrdleme mÀlu kasutust

Nii et me saime jÀrgmised numbrid mÀlu kasutamise kohta:

  • JBoss EAP – 650 MB.
  • JAR-pakett – 130 MB.
  • KĂ€ivitatav fail – 20 MB.

Ilmselgelt kasutab kÀivitatav fail palju vÀhem mÀlu.

Teeme kokkuvÔtte 4. ja 5. postitusest

Selles ja eelnevas postituses vaatasime Java-rakenduste moderniseerimise kĂŒsimust, kasutades Quarkus tehnoloogiaid (CDI ja Servlet 3), samuti erinevaid viise selliste rakenduste arendamiseks, ehitamiseks ja kĂ€itamiseks. NĂ€itasime, kuidas koguda andmeid mĂ€lu kasutamise kohta, et hinnata parendusi, mis on saavutatud tĂ€nu sellele moderniseerimisele. Need artiklid aitavad mĂ”ista, kuidas Quarkus töötab ja milles on selle vÀÀrtus – sĂ”ltumata sellest, kas tegemist on lihtsa helloworld programmiga meie nĂ€idetes vĂ”i palju keerulisemate rakendustega pĂ€riselus.

Naaseme kahe nĂ€dala pĂ€rast koos Quarkuse lĂ”pp-postitusega – kohtume siis!

Meie lĂ”pp-postituses nĂ€itame, kuidas ĂŒhendada AMQ Online'i ja Quarkuse, et luua kaasaegne sĂ”numivahetussĂŒsteem OpenShiftis, kasutades kahte uut tehnoloogiat, mis on seotud sĂ”numite töötlemisega. Loe lĂ€hemalt lingil.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster