Jak poprawić szybkość wyszukiwania zapytania w Elastic Search?
Host to AWS firmy ElasticSearch, mam 2 TB danych przechowywanych w 6 węzłach i 30 indeksach po 10 fragmentów w każdym. Proste wyszukiwanie we wszystkich indeksach jest bardzo powolne i zajmuje kilka minut.
Gdzie popełniłem błąd? Czy to normalne, czy mam złe ustawienia, czy może mam za dużo zapisanych danych?
Moje ustawienia klastra:
"search": {
"max_queue_size": "1000",
"queue_size": "1000",
"size": "4",
"auto_queue_frame_size": "2000",
"target_response_time": "1s",
"min_queue_size": "1000"
},
Ustawienia moich węzłów:
"os": {
"refresh_interval_in_millis": 1000,
"name": "Linux",
"pretty_name": "CentOS Linux 7 (Core)",
"arch": "amd64",
"version": "4.15.0-1039-aws",
"available_processors": 32,
"allocated_processors": 2
}
Dziękuję Ci!
Odpowiedzi
To bardzo szerokie pytanie, zawierające bardzo mało informacji. Czy możesz podać więcej informacji, takich jak:
- Ile masz danych i rozmiar każdego fragmentu.
- Przykładowe zapytania i ich średni czas potrzebny.
- wielkość sterty węzłów danych i dlaczego masz
allocated_processors
mniej (2) niż dostępnych procesorów (32) - Ile dokumentów pobierasz w zapytaniu wyszukiwania, tj. Parametr rozmiaru.
- Opóźnienie wyszukiwania bez wywołań wyszukiwania
- Przeszukuj wolne logi elastycznego wyszukiwania (ES)
Możesz zapoznać się z moimi 10 wskazówkami dotyczącymi poprawy wydajności wyszukiwania , a także podać wartości niektórych parametrów wymienionych we wskazówkach, a także wypróbować narzędzie optymalizatora klastrów, aby dostroić ustawienia klastra i węzłów w ES.
Jak omówiono w komentarzu, prosimy o skierowanie blogu opstera do slow-log wyszukiwania w celu wydajniejszego debugowania.
1)I have 2TB data. Every index has 50GB or more. Each has 10 shards and a replica
To za dużo. Rozmiar celu dla fragmentu powinien wynosić około 50 GB. Dzięki ustawieniu masz więcej około 5 Gb Każdy. Możesz zmniejszyć do 5 odłamków lub mniej i wymusić scalenie do 1 segmentu. Wydajność powinna zostać znacznie poprawiona.
Następnie spójrz na inne dobre rady udzielone przez Optsters na swoim blogu. Wszystkie są istotne.