We measured the peak traffic and allocated over-provisioned number of EC2
m1.xlarge instances and made it ready for having traffic.
Immediately after turning on the traffic, whole ES cluster went down with
OOM error. I analyzed heap dump and 6.5GB was full of TransportService,
which means ES server instance was backed up with unhandled requests from
clients.
Client's behavior
There are 500 threads doing bulk request on ES cluster with timeout 2
seconds. I guess 2 second timeout would be reasonable but when I checked
rx/tx graph, the graph showed it got 38GB per second, unbelievable numbers,
look at graphs. Does this mean we shouldn't use timeout in a large cluster?
maybe you should reduce your parallel bulk indexing. Having 500 parallel
bulk request means you need to reserve a lot of memory for parsing those
requests and keeping some state in memory until all of the requests are
processed and returned. Because a single bulk requests needs to send lots
of data around in the cluster, I assume this as the reason for lots of
TransportService calls.
In terms of bulk indexation, start small and serialized and then go higher
step-by-step, if you need to (keep in mind that bulk indexing already means
you are executing lots of data in parallel).
We measured the peak traffic and allocated over-provisioned number of EC2
m1.xlarge instances and made it ready for having traffic.
Immediately after turning on the traffic, whole ES cluster went down with
OOM error. I analyzed heap dump and 6.5GB was full of TransportService,
which means ES server instance was backed up with unhandled requests from
clients.
Client's behavior
There are 500 threads doing bulk request on ES cluster with timeout 2
seconds. I guess 2 second timeout would be reasonable but when I checked
rx/tx graph, the graph showed it got 38GB per second, unbelievable numbers,
look at graphs. Does this mean we shouldn't use timeout in a large cluster?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.