Performance issue at elastic search for actionFuture.actionGet()


(Rajib Halder) #1

Hi,

Below call is taking time (Avg 550 milliseconds) in my elastic search application which leads to performance issue.

ListenableActionFuture actionFuture.actionGet().hasFailures()

Has there any way to optimize this call ?

My elastic search version 2.3.2

Any help is welcome !

Rajib


(David Pilato) #2

How did you built actionFuture object?


(Rajib Halder) #3

It is something like below:

BulkRequestBuilder bulkRequest = esClientManager.getEsClient().prepareBulk();

UpdateRequestBuilder updateRequestBuilder= esClientManager.getEsClient()
.prepareUpdate("ABC", "ABC", 123)
.setParent("ABC")
.setDoc(valuesByFieldnames)
.setDocAsUpsert(true);

bulkRequest.add(updateRequestBuilder);

ListenableActionFuture actionFuture = bulkRequest.execute();


(David Pilato) #4

When you say "something" it means that it's not exactly that?

I mean how many elements you have in a single bulk operation?
Note that Update are slow in general IMO.


(Rajib Halder) #5

It is the actual code. It is an existing implementation on which i am working. And it is one element in the bulk operation.

I am also wonder why they used bulk operation for single element.

Regards,
Rajib


(David Pilato) #6

Agreed. Does not make sense for a single request IMO.


(Rajib Halder) #7

Hi @dadoonet , I will concentrate at making this single operation but even if bulk operation for single element don't you think it is taking too much time ?

Rajib


(David Pilato) #8

For a set of pure indexation operation, I'm indexing around 20 documents per second on my laptop (SSD drives). Needless to say that with bulk, I can process 15000 documents per second on the same hardware.

Here it depends on your hardware. The fact that you are doing updates means as well that:

  • You send the update query
  • Elasticsearch does a GET by ID
  • Elasticsearch merges the result with what you sent
  • Elasticsearch index the merged document
  • Elasticsearch sends you the response

Indexing means basically:

  • You send the index query
  • Elasticsearch index the document
  • Elasticsearch sends you the response

(system) #9

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