# How to improve io performance in elasticsearch

**URL:** <https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449>\
**Category:** Вопросы на русском языке\
**Created:** [November 9, 2016, 8:18am UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449 "2016-11-09T08:18:29Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Evgeny\_Rachlenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/evgeny_rachlenko/32/13037_2.png) [@Evgeny\_Rachlenko](https://discuss.elastic.co/u/Evgeny_Rachlenko)\
**Post date:** [November 9, 2016, 8:18am UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/1 "2016-11-09T08:18:29Z")

</div>

Всем привет.

пытаюсь улучшить скорость записи в elasticsearch по этому документу.  
[https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html](https://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html)

попутно возникла идея создать несколько машинок с быстрыми дисками и делать индексацию только на них.  
а потом копировать эти индексы на другие ноды.

В связи с этим вопросы:  
правильное ли это направление для решения подобной задачи?  
есть ли решения лучше ?

---

<div class="post-metadata">

**Author:** ![rusty](https://avatars.discourse-cdn.com/v4/letter/r/f17d59/32.png) [@rusty](https://discuss.elastic.co/u/rusty)\
**Post date:** [November 9, 2016, 2:33pm UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/2 "2016-11-09T14:33:16Z")

</div>

Привет, а в чем проблема сейчас? Какая скорость загрузки сейчас, какая загрузка I/O и CPU (есть ли запас)?

Мы упирались в 20-25тыс. документов на 1 инстанс ES, но сервера позволяли ставить еще несколько инстансов и суммарно получали прирост скорости добавляя еще 1-2 инстанса на одном железном сервере, каждый обрабатывал уже чуть меньше, но не существенно, 18-23тыс. документов в секунду на каждый инстанс. Важный момент, надо делать настройку, чтобы реплики не создавались на одном сервере с primary, чтобы не портить отказоустойчивость.

Направление решения - хорошее, особенно если позволяют деньги и исчерпаны другие варианты. Это называется hot-cold architecture, насколько помню делается за счет роутинга.

---

<div class="post-metadata">

**Author:** ![Evgeny\_Rachlenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/evgeny_rachlenko/32/13037_2.png) [@Evgeny\_Rachlenko](https://discuss.elastic.co/u/Evgeny_Rachlenko)\
**Post date:** [November 9, 2016, 4:09pm UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/3 "2016-11-09T16:09:16Z")

</div>

Привет ,  
у нас 20 data nodes. В день приходит 4Тб данных. В часы пик скорость записи 90k За настройку спасибо. Документ про hot-cold architecture изучил.  
[https://www.elastic.co/blog/hot-warm-architecture](https://www.elastic.co/blog/hot-warm-architecture) .

Интересно как реагирует кластер на такого рода копии.  
Раз в день когда дата будет переходить с горячих нодов на тепленкие , не застынет ли он? Как можно рассчитать, как оптимально перегонять данные с hot-nodes to warm nodes?

---

<div class="post-metadata">

**Author:** ![rusty](https://avatars.discourse-cdn.com/v4/letter/r/f17d59/32.png) [@rusty](https://discuss.elastic.co/u/rusty)\
**Post date:** [November 10, 2016, 10:33am UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/4 "2016-11-10T10:33:15Z")

</div>

Про скорость переноса из опыта не скажу, но, ИМХО, не хуже чем ребаланс шардов в пределах кластера.  
Если кластер не дикое легаси из 0.х или 1.х, можно посмотреть в сторону 5-й версии, в ней обещали увеличить скорость индексации и общее улучшение работы.

**Все же, в чем сейчас проблема?**

Посмотрел ваш пост в ветку про logstash с тем же вопросом 😉 так вот, сам logstash может являться тормозом загрузки, он бывает очень нетороплив. И тут уже надо смотреть на состояние всего кластера, то что я спрашивал в первом ответе, а нагружен ли реально кластер? Если нет, если диски утилизированы меньше чем на 80%, никакой SSD не поможет, так как проблема на в дисках.

---

<div class="post-metadata">

**Author:** ![Evgeny\_Rachlenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/evgeny_rachlenko/32/13037_2.png) [@Evgeny\_Rachlenko](https://discuss.elastic.co/u/Evgeny_Rachlenko)\
**Post date:** [November 12, 2016, 5:14am UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/5 "2016-11-12T05:14:53Z")

</div>

Привет,  
Основная проблема в скорости переноса данных в кластер. Увеличение неторопливых logstash instances большого изменения не дает. ноды загружены частично. есть пара тройка с высоким CPU and IO остальные отдыхают. Сделал еще раз замеры на максимальной нагрузке . кластер пишет 40.000 документов в секунду. выше скорость записи не подымается. вот такая картина .

---

<div class="post-metadata">

**Author:** ![rusty](https://avatars.discourse-cdn.com/v4/letter/r/f17d59/32.png) [@rusty](https://discuss.elastic.co/u/rusty)\
**Post date:** [November 12, 2016, 9:30am UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/6 "2016-11-12T09:30:02Z")

</div>

Если есть возможность, попробуйте загрузить кластер через кастомную утилиту типа [rally](https://discuss.elastic.co/t/rally-0-4-4-released/65194) или [esBench](https://github.com/kucera-jan-cz/esBench), если кластер выдаст нормальную скорость (примерно 25к документов в секунду \* на 20 дата-нод), тогда явно проблема с загрузкой из logstash. Если же другие утилиты не помогут, то проблема с самим кластером и его настройками.

Из очевидных "подводных камней":

1. Нет ли дисбаланса шардов по тем нодам на которых наибольшая нагрузка? То есть грубо, не создал ли эластик большинство шардов, куда идет загрузка, на тех 2 нодах где всплеск нагрузки?
2. Нет ли проблем со свободной памятью на ОС и насколько нагружен heap дата-нод и мастеров?
3. Не уходят ли сервера в своп?
4. Что делают эти несколько нагруженных нод, надо смотреть чем они заняты через hot-threads?
5. Не меняли ли настройки эластика и JVM?

---

<div class="post-metadata">

**Author:** ![Evgeny\_Rachlenko](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/evgeny_rachlenko/32/13037_2.png) [@Evgeny\_Rachlenko](https://discuss.elastic.co/u/Evgeny_Rachlenko)\
**Post date:** [November 14, 2016, 7:08am UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/7 "2016-11-14T07:08:09Z")

</div>

Огромное спасибо за помощь. Особенное за подводные камни и утилиты . Как ни странно проблема обнаружилась в Logstash , перемудрили маленько с фильтрами . После исправлений , летает как самолет 🙂

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 12, 2016, 7:08am UTC](https://discuss.elastic.co/t/how-to-improve-io-performance-in-elasticsearch/65449/8 "2016-12-12T07:08:50Z")

</div>

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