Elasticsearch Max memóriaméret beállítása

Elasticsearch Max Memoriameret Beallitasa



„A memória alapvető, de korlátozott erőforrás az Elasticsearch alkalmazásban. Ennek az az oka, hogy a Lucene minden rendelkezésre álló memóriát kihasznál. Rosszul konfigurálva azonban a memóriabeállítások alacsony teljesítményhez és nem hatékony memóriahasználathoz vezethetnek.

Ebben az oktatóanyagban bemutatjuk a maximális és minimális JVM kupacméret konfigurációt, amikor az Elasticsearch alkalmazással dolgozik.







Kezdjük el.



Mi az a kupac memória?

Az Elasticsearch összefüggésében a kupacmemória az Elasticsearch csomóponton belül a Java virtuális gép számára lefoglalt teljes memória mennyiségére vonatkozik.



Az Elasticsearch alapértelmezés szerint beállítja a JVM kupac méretét az alaprendszer teljes memóriája és a csomópont szerepe alapján. Ez azt jelenti, hogy a kupacmemória méretének lefoglalása változhat attól függően, hogy főcsomópontról, adatról, feldolgozásról, data_cold stb.





A legtöbb éles környezetben ajánlott és több mint elegendő engedélyezni az Elasticsearch számára a kupacméret kezelését.

JEGYZET : Ha az Elasticsearch programot a Dockerben futtatja, a teljes kupacmemória a docker-tároló teljes méretén alapul, nem pedig a Docker gazdagépén.



Minimális és maximális kupacméret beállítása

A minimális és maximális kupacméret konfigurálásához használhatjuk az Xms és Xmx paramétereket. Az Elasticsearch probitok a maximális memóriát a teljes memória legfeljebb 50%-ára állítják be. Ennek az az oka, hogy a JVM Heap mellett az Elasticsearch több memóriát igényel egyéb műveletekhez, például a fájlrendszer gyorsítótárához, a hálózati kommunikációhoz stb. Hasonlóképpen, a JVM a fennmaradó 50%-os memória egy részét használja.

Másodszor, ne állítsa az xms és xmx értékeket nagyobbra, mint az hoppá küszöbérték. A biztonságos konfiguráció érdekében bizonyos rendszereken korlátozza 26 GB-ra vagy 30 GB-ra.

A küszöbértéket az Elasticsearch naplóban ellenőrizheti.

macska elasticsearch.log | grep 'objektummutatók'

Látnia kell egy bejegyzést az alábbi módon:

[2022-08-19T20:01:50,275][INFO ][o.e.e.NodeEnvironment    ] [debian11] kupacméret [1,9 GB], tömörített közönséges objektummutatók [true]
[2022-08-19T20:08:07,207][INFO ][o.e.e.NodeEnvironment    ] [debian11] kupacméret [1,9 GB], tömörített közönséges objektummutatók [true]
[2022-08-19T20:36:47,244][INFO ][o.e.e.NodeEnvironment    ] [debian11] kupacméret [1,9 GB], tömörített közönséges objektummutatók [true]

Lekérdezheti a csomópontinformációs API-t is az xms és xmx értékekhez:

curl -X GET localhost:9200/_nodes/_all/jvm?pretty

A képen látható kimenetet kell látnia:

Állítsa be a minimális és maximális kupacméretet

A JVM kupacméret értékeinek módosításához hozzá kell adni egy konfigurációs fájlt az /etc/elasticsearch/jvm.options.d könyvtárban. Ennek a fájlnak az .options kiterjesztéssel kell végződnie.

Például:

$ sudo touch /etc/elasticsearch/jvm.options.d/heap.options

Szerkessze a fájlt

$ sudo nano /etc/elasticsearch/jvm.options.d/heap.options

Adja hozzá a kívánt minimális és maximális kupac memóriaméretet.

Például az alábbi bejegyzés a minimális és maximális kupacméretet 4 GB-ra állítja be.

Mentse a fájlt, és indítsa újra az Elasticsearch szolgáltatást.

Következtetés

Ebben az oktatóanyagban megtanulta a JVM-kupacot az Elasticsearch kontextusában, hogyan konfigurálja az Elasticsearch a JVM-halmot, és hogyan módosíthatja a kupac méretét.

Köszönöm, hogy elolvasta!!