I'm using Magento 2 eCommerce and we are having 400 sites(multi-website). Each website created a separate index. So overall I have 400 indices in elasticsearch and each has a store.size of 10kb-500kb.
curl --silent -X GET http://localhost:9200/_cat/indices?v
Sample results:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open magento2_product_271_v50 5gjgjagzR4SMne6UanBsXQ 1 1 1 3 19.3kb 19.3kb
yellow open magento2_product_263_v50 Rkkh6UggS96ZIMDaoO7utQ 1 1 1 3 19.4kb 19.4kb
Overall indices data sizes are less than 500MB.
Elasticsearch node memory details:
- RAM: 128GB
- JVM HEAP: 50GB (We knew good practice is it should be within 32GB). But if we set JVM HEAP as 32GB, we got a circuit breaker exception(data too large).
- Number of core: 48
- Elasticsearch version: 7.13
Also, we observed elasticsearch node CPU usage(4%) and load average(2-3) are normal. The only problem is elasticsearch using high memory(60GB).
Here I have two questions
Overall indices size is less than 500MB, how elasticsearch is using more memory(60GB)? It is showing more memory usage even the site is in maintenance mode(which means no traffic).
How to optimize the elasticsearch memory to stop the circuit breaker exception? because we are planning to create another 600 indices
Any help would be much appreciated. Thanks in advance.