Inconsistent data transfer performance from ES -> Client

Hello

We are very happy with our internal search performance within ES it self. However, transferring the data from ES to our client seems to perform rather inconsistent. I would be very happy to hear your suggestions as to how we can make this perform more consistent, or how I can better troubleshoot as to where by bottleneck appears.

Information:

  • Every search is executed in 14-20ms based on the 'took' data from ES.
  • Very limited amount of data is transferred from ES to Client
  • Requests are made with GET/CURL timed using the 'time' command on a centos box

Inconsistent data transfers timings:

  • Request 1: real 0m0.149s
    *** Request 2: real 0m0.027s**
  • Request 3: real 0m0.150s
  • Request 4: real 0m0.148s
    *** Request 5: real 0m0.026s**
  • Request 6: real 0m0.150s
    *** Request 7: real 0m0.026s**
    *** Request 8: real 0m0.026s**
  • Request 9: real 0m0.152s

Any ideas / suggestions? :slight_smile:

Is your elasticsearch on the same LAN?

No do not believe it is. It is a hosted environment run by ObjectRocket (ES) / Rackspace (CentOS).

So a network latency issue?

Good suggestion, but it does not appear to be the actual issue we seeing. However, I think it led me on the right path :slight_smile: :slight_smile:

Added some additional timing data to my curl request based on your latency suggestion:
https://blog.josephscott.org/2011/10/14/timing-details-with-curl/

It seems like our issue may be with our DNS / namelookup:
time_namelookup: 0.125

Great you found it...

BTW did you look at the official cloud.elastic.co offer?

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