# Seamingly sporadic increases in indexing latency

**URL:** https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166
**Category:** Elasticsearch
**Created:** [January 14, 2021, 6:19pm UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166 "2021-01-14T18:19:51Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 14, 2021, 6:19pm UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/1 "2021-01-14T18:19:52Z")

</div>

We have a setup where Flink is writing to Elasticsearch, and at sporadic moments latency increases due to volume of IOPS. Looking for suggestions.

Attached are some graphs, when IOPS are high, indexing latency is high, and the backpressure means Flink sends far less bulk indexing requests. This in turn dramatically drops our indexing rate. It would appear that certain requests require a lot more IOPS. What suggestions are there to tune or adjust hardware for this scenario?

Thanks

Marked times ~7:00 to demonstrate that lower IOPS == low latency == more requests == dramatically higher indexing rate

 ![Screen Shot 2021-01-14 at 10.05.05 AM](https://us1.discourse-cdn.com/elastic/original/3X/c/9/c95834f72475b9fd0b1da1930ed60d8c1e0219c4.png)  
 ![Screen Shot 2021-01-14 at 10.17.45 AM](https://us1.discourse-cdn.com/elastic/original/3X/c/a/ca56c68d38acc9f18b2db5b5a5669f8d3478793c.png) ![Screen Shot 2021-01-14 at 10.17.58 AM](https://us1.discourse-cdn.com/elastic/original/3X/6/4/64f5d38ee0ea58d55ff1ce0fcf7112b1498b3c5d.png)

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 14, 2021, 11:54pm UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/2 "2021-01-14T23:54:34Z")

</div>

Is there anything in your Elasticsearch logs at the time you are seeing this?  
Can you also check `hot_threads`?

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 1:01am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/3 "2021-01-15T01:01:35Z")

</div>

Body limit is too high to post `hot_threads`. How should I best interpret what I have, or is there a subsection I should post?

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 15, 2021, 1:02am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/4 "2021-01-15T01:02:48Z")

</div>

Just use gist/pastebin/etc and link here.

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 1:08am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/5 "2021-01-15T01:08:25Z")

</div>

> <https://gist.github.com/rex-remind101/b6b1a8d1b82d601d343203b0ea44add2>

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 15, 2021, 1:11am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/6 "2021-01-15T01:11:21Z")

</div>

You've got fair bit of activity on `refresh` threads. What sort of storage is this on?

Also, what's `app//[AMAZON INTERNAL]` about?

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 1:21am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/7 "2021-01-15T01:21:58Z")

</div>

AWS - EBS gp2 volumes. SSD.  
Guessing amazon has mixed in some special sauce.

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 15, 2021, 1:22am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/8 "2021-01-15T01:22:34Z")

</div>

Is this the aws service?

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 1:24am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/9 "2021-01-15T01:24:33Z")

</div>

`refresh` interval is set to 1s because plan is to soon launch to users and we need low latency searches. It is expected to have similar read and write volume since users will search, and then perform some action that will then change the what's in ES.

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 1:24am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/10 "2021-01-15T01:24:50Z")

</div>

Yes, it is AWS service.

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 15, 2021, 1:26am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/11 "2021-01-15T01:26:17Z")

</div>

Ok thanks. You will need to ask the then sorry, they run a custom fork and we don't know what changes they've made around how they provide it.

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 1:27am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/12 "2021-01-15T01:27:51Z")

</div>

Hmm. The fact that you immediately pointed me to hot\_threads and they did not when I asked for help gives me less confidence in them, but much in you. Assuming this wasn't AWS, what path do you think I should follow?

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 15, 2021, 1:29am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/13 "2021-01-15T01:29:02Z")

</div>

I would change my storage type and see if that helps.

You can also try out [https://www.elastic.co/cloud/](https://www.elastic.co/cloud/) and see if that performs better. We provide a fair bit more on top of the core Elasticsearch product as well.

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 1:30am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/14 "2021-01-15T01:30:01Z")

</div>

Thanks 👍

---

<div class="post-metadata">

### Author: ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)
#### Post date: [January 15, 2021, 8:14am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/15 "2021-01-15T08:14:38Z")

</div>

I would not be surprised if those patterns were caused by occasional larger merges, which can be I/O intensive.

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 6:31pm UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/16 "2021-01-15T18:31:55Z")

</div>

We now believe latency increases are related to the garbage collector collecting garbage (at least this appears to be 1 significant factor). We're on ES 7.8, anything recommendations?

 ![Screen Shot 2021-01-15 at 9.13.48 AM](https://us1.discourse-cdn.com/elastic/original/3X/2/2/2291c27894fe11ca43be656636ae5b97c4117d39.png) ![Screen Shot 2021-01-15 at 9.13.20 AM](https://us1.discourse-cdn.com/elastic/original/3X/3/5/35e584ce2c38746247c5b2da89d7f74d690779f4.png)

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 8:16pm UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/17 "2021-01-15T20:16:47Z")

</div>

May be jumping the gun on garbage collection. The graphs line up in some places but not others. Are there any good recommendations for dealing with large merges?

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 15, 2021, 8:26pm UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/18 "2021-01-15T20:26:21Z")

</div>

Faster storage is really the only option.

---

<div class="post-metadata">

### Author: ![rex-remind](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rex-remind/32/46637_2.png) [@rex-remind](https://discuss.elastic.co/u/rex-remind)
#### Post date: [January 15, 2021, 10:10pm UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/19 "2021-01-15T22:10:58Z")

</div>

Ok, will definitely go with that route.

Just noticed something else though, looking at latency metrics per node, only 2 of our nodes have high latency, and cpu is higher on those 2 nodes (but wouldn't say high). Our Flink job has a parallelism of 2. I assumed ES load balances write bulk requests, is this not the case?

Shard allocation between shards looks relatively even, though two shards are slightly larger than the rest

```auto
<index> 4 r STARTED 30349634 8.5gb x.x.x.x aff85c512e914917c29faa78df1c6831
<index> 4 p STARTED 30349634 8.3gb x.x.x.x 55d01cfcbccb60959a00b0ad437a9b36
<index> 1 r STARTED 30348482 8.6gb x.x.x.x f17701275c28068a719b2be5e29e5d06
<index> 1 p STARTED 30348482 8.5gb x.x.x.x 55d01cfcbccb60959a00b0ad437a9b36
<index> 3 p STARTED 30345095 10.4gb x.x.x.x d21c192794d2d51cbb2b5951fdcb18fe
<index> 3 r STARTED 30345095 10.9gb x.x.x.x 6cf4a3474c179f2dc2721d120eb380a3
<index> 2 r STARTED 30340807 9.9gb x.x.x.x f17701275c28068a719b2be5e29e5d06
<index> 2 p STARTED 30340807 9.9gb x.x.x.x 6cf4a3474c179f2dc2721d120eb380a3
<index> 0 p STARTED 30344671 8gb x.x.x.x c802556d0108779bb85051acac16b771
<index> 0 r STARTED 30344671 8.2gb x.x.x.x d21c192794d2d51cbb2b5951fdcb18fe

```

---

<div class="post-metadata">

### Author: ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)
#### Post date: [January 16, 2021, 5:21am UTC](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166/20 "2021-01-16T05:21:36Z")

</div>

> [@rex-remind](#):
>
> I assumed ES load balances write bulk requests, is this not the case?

Once the node that gets it parses the request, it sends data to each relevant shard in the cluster. It doesn't take (eg) half of the request and pass it to another node straight away.

[Next page](https://discuss.elastic.co/t/seamingly-sporadic-increases-in-indexing-latency/261166.md?page=2)
