Elastic search configuration for extensive search and read/write and indexing operations with heavy number of users


We need information regarding elastic search configuration for our application environment.

We use elastic search very extensively for our application for search and indexing.

Our application is using Liferay (portal development) with Java as development platform.

We are facing slowness in application related to elastic search when more users are using the application. In application we do a lot of index read and write with several operations.

As per our application monitoring we see many thread are in waiting status for read/write indexing.

Please suggest the best elastic search configuration as per below mentioned application details.

Application: Portal developed on Liferay with Java
Database :- Oracle
Java Version :- Open JDK 8
Search Engine :- Elastic Search
Elastic Search Version :- 6.1.3
Operation System: - Linux
Number of nodes :- 2/4
CPU Cores :- 4 cores
Number of concurrent users at a time :- 100 - 200 (2 nodes) / 250 - 400 (4 nodes)

Elastic Search yml configuration :-

bootstrap.memory_lock: true

discovery.zen.minimum_master_nodes: 1

indices.query.bool.max_clause_count: 10240

size: 40
queue_size: 500
min_queue_size: 10
max_queue_size: 1000
auto_queue_frame_size: 2000
target_response_time: 2s
queue_size: 10000
queue_size: 500


How much data do you have in the cluster?

How many indices and shards?

Are you using attached SSD storage?

What does the workload look like? What type of queries are you using? How many queries per second to you need to support?


Hello ,

We have near to 6 GB data in cluster.

Indices settings are default. We have 2 shards.

We use LINUX servers (not laptops) with no additional SSD storage.

Workload mostly includes Searching articles/ documents and media, searching users , updating users (write actions) . Also it includes getting list of articles by type . etc

As per our monitoring I see queries are mostly search ,
org.elasticsearch.action.bulk.BulkRequest (count of 1400 for a 10 minute test),
org.elasticsearch.action.admin.indices.refresh.RefreshRequest (count of 900 for a 10 minute test)

Also we see LIMIT EXCEEDED BUCKET in monitoring log queries for elastic search (count of 1841 for a 10 minute test).


How much RAM does each server have? What is your heap size? Is there anything else running on these hosts?



The total RAM size is 32012 MB.

MaxHeap Size for Liferay Tomcat Servers is 8192 MB.

We have another tomcat and Elastic search running on same host.


What type of storage does the node have? What does disk I/O and iowait look like?


The Disk Storage type is Local Storage.

Not sure what iowait is.

Also one additional info is the refresh interval of elastic is 60 seconds.


@Christian_Dahlqvist ,


did you get chance to check my updates comment ?

Please let me know if you need additional information .


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.