Backups are taking too much time
Problem - opis
Backup dużych indeksów trwa zdecydowanie za długo (mieliśmy indeks dzienny którego backup trawał 6 DNI, to zdecydowanie za długo.
Propozycja
Do komendy kontenera elasticsearch-dump dodać parametr --limit
i ustawić go poprzez nową zmienną z api która domyślnie powinna mieć wartość 10000
(domyślna dla tego narzędzia wartość to 100
). Dlaczego taka wartość domyślna? Bo to maksymalna wartość obiektów jakie może zwrócić pojedyncze zapytanie domyślnie w elasticu https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#dynamic-index-settings → index.max_result_window.
Zysk
Niech przykładem będzie indeks (~0,94 mln dokumentów) którego backup danych aktualną wersją roli trwał ~ 600 sek po zmianach 108 sek, inny większy indeks (~4,7 mln dokumentów) analogicznie aktualną wersją trwał 45772 sek (~12,7h) po tej zmianie trwa 483 sek. Jak widać im większy indeks tym większy zysk.