Onafhankelijke vergelijking · geen betaalde rankings
Home / Blog / Technisch / Elasticsearch: schaalindexering zonder applicatie-RAM te stelen

Elasticsearch: schaalindexering zonder applicatie-RAM te stelen

Elasticsearch is heap- en I/O-intensief. Op een VPS die met je app wordt gedeeld, kan een slecht gekalibreerde herindexering je PHP of Node midden in de nacht OOM-killen.

Redactie Hébergeurs.eu 3 min Bijgewerkt 19 jul. 2026

Je voegt Elasticsearch toe aan een VPS waar al nginx, PHP-FPM en MySQL op draait. Op vrijdagavond wordt de eerste import van 400.000 productbladen gelanceerd. Twee uur later antwoordt de site 502: de kernel heeft php-fpm gedood (niet elasticsearch) omdat het RAM-geheugen uitgeput was en de schijfcache niet langer compenseerde.

Elasticsearch is geen “verlengstuk van MySQL”. Het is een Java-engine met piek-I/O en merge die met uw applicatie concurreert om dezelfde bronnen.

Heap, cache en de 50%-regel

Elasticsearch gebruikt de JVM voor de heap (in-memory-structuren) en vertrouwt op de bestandssysteemcache van het besturingssysteem voor Lucene-segmenten.

BronRolVeel voorkomende fout
Heap-JVMIndexbuffers, query'sTe groot → GC breekt, OOM
FS-cacheSchijfsegmenten lezenConcurrentie met app + besturingssysteem
CPUSamenvoegen, analyserenVerzadiging tijdens bulk
SchijfIOPS samenvoegen + translogHDD verzadigd bij herindexering

Officiële elastische regel: heap ≈ 50% RAM, max 32 GB. Daarnaast verliest de JVM-garbagecollector zijn efficiëntie.

Op een VPS van 4–8 GB gedeeld met de app zit je al in structurele spanning.

Bulkindexering zonder de machine te schudden

1. Beperk de stroom


PUT _cluster/instellingen

{

  "aanhoudend": {

    "indexes.memory.index_buffer_size": "10%"

  }

}

Reduceer refresh_interval naar 30s of -1 tijdens massa-import en plaats 1s terug in prod.

2. Batchgrootte — begin met ongeveer 1000–5000 documenten, meet de latentie en afwijzingen.

3. Tijdvenster — index 's nachts als de VPS ook overdag verkeer bedient.

4. Scheiding van rollen — speciaal ES-knooppunt of beheerd aanbod (Elastic Cloud, OpenSearch beheerd in uw cloud).

Waarschuwingssignalen vóór OOM

  • vmstat: als si/so (swap) stijgt tijdens bulk.
  • docker stats of htop: heap ES stabiel maar totaal RAM op 100%.
  • Applicatielatentie gecorreleerd met _bulk-pieken in ES-logboeken.
  • Schijf > 85% — samenvoegen geblokkeerd, cluster geel/rood.

Handel vóór de moord: pauzeer bulk, verhoog het RAM-geheugen of migreer ES.

De bovenkant: zoeken in volledige tekst rechtvaardigt niet altijd Elasticsearch

Het dimensioneren van de indexering betekent ook dat je je moet afvragen of ES op dezelfde machine moet leven.

Beslis en ga vooruit zonder blinde vlek

Bereken het RAM-budget: Elasticsearch-heap plus applicatie plus systeem plus 20% marge. Als de applicatie cruciaal is op dezelfde VPS, isoleer Elasticsearch dan op een speciaal knooppunt of beheerd aanbod voordat u bulksgewijs importeert. Geef grote volumes door een wachtrij met bulk-throttle en refresh_interval tijdelijk verhoogd. Meet vmstat- en docker-statistieken tijdens een importtest, niet alleen de JVM-heap. Vergelijk beheerde Elasticsearch en lichtgewicht alternatieven (Meilisearch, Typesense) via onze vergelijker en de overzicht als eenvoudig zoeken in de volledige tekst voldoende is voor de taak.

Veelgestelde vragen

Hoeveel RAM moet ik toewijzen aan Elasticsearch op een VPS van 8 GB?

Heap ≤ 50% RAM, ≤ 32 GB absoluut. Op 8 GB gedeeld heeft het scheiden van rollen vaak de voorkeur.

Waarom crasht mijn herindexering van de server?

Bulk zonder gas geven, intensief samenvoegen, privé RAM-cache - OOM-killer in de app of ES.

Moeten we synchroon indexeren vanuit de applicatie?

Nee voor grote volumes: wachtrij + werknemers in bulk met verversingsinterval aangepast.

Is Managed Elasticsearch de kosten waard?

Ja bij kritische indexering en een klein team; anders Meilisearch of Typesense op budget VPS.


Voordat u 's nachts gaat indexeren, een vraag: wie betaalt voor RAM als het grootste deel wegvalt - Elasticsearch of uw online winkel?

Vergelijk Europese providers

Filter op compliance, locatie en gebruikssituatie — open daarna de fiches om het echte bereik te controleren.

Blader door het overzicht
Blog

Gerelateerde lectuur

Alle artikelen →