Zrobiłem elastyczny klaster z dużymi danymi, a klient może wysłać do niego zapytanie wyszukiwania. Czasami klaster kosztuje dużo czasu, aby poradzić sobie z jednym żądaniem. Moje pytanie brzmi: czy istnieje interfejs API do zabicia określonego wątku, który kosztuje zbyt dużo czasu?Jak zabić wątek wyszukiwania w klastrze elasticsearch? Czy jest w tym jakieś API?
Odpowiedz
Chciałem odpowiedzieć na tę odpowiedź teraz, gdy elasticsearch 1.0.0 został wydany. Z przyjemnością ogłaszam, że wprowadzono nową funkcjonalność, która implementuje pewną ochronę sterty, zwaną wyłącznikiem.
Przy aktualnej implementacji wyłącznik próbuje przewidzieć, ile danych ma zostać załadowanych do bufora danych pól, a jeśli jest większy niż limit (domyślnie 80%), wywoła to wyłącznik, a tam przez zabicie zapytania.
Istnieją dwa parametry można ustawić, czy chcesz je zmodyfikować:
indices.fielddata.breaker.limit
indices.fielddata.breaker.overhead
napowietrznej jest stała, która jest wykorzystywana do oszacowania, ile danych zostanie załadowany do pamięci podręcznej pola; domyślnie jest to 1.03.
Jest to ekscytujący krok naprzód w zakresie elastycznego wyszukiwania i funkcji, na którą czekam od miesięcy.
Jest to żądanie pobrania, jeśli chcesz zobaczyć, jak zostało zrobione; dzięki dakrone za wykonanie tego!
https://github.com/elasticsearch/elasticsearch/pull/4261
Nadzieja to pomaga, MatthewJ
Obecnie nie jest możliwe, aby zabić lub powstrzymać długich zapytań uruchomiony, lecz Elasticsearch ma zamiar dodać interfejs API do zarządzania zadaniami, aby to zrobić. API prawdopodobnie zostanie dodane w Elasticsearch 5.0, może w 2016 lub później.
patrz Task management 1 i Task management 2.
- 1. Jak zabić wątek MFC?
- 2. Czy można zabić wątek BackgroundWorker?
- 3. Dostosowywanie algorytmu wyszukiwania w Elasticsearch
- 4. metoda alternatywna zabić wątek
- 5. Podobnie jak w przypadku wyszukiwania w Elasticsearch
- 6. Jak zabić proces uruchamiany przez wątek potomny?
- 7. Uzyskiwanie wyniku wyszukiwania SearchResponse w ElasticSearch
- 8. Czy są jakieś wartości w tym SQLite w VCS
- 9. C++ api do wyszukiwania elastycznego
- 10. Elasticsearch szyny/Elasticsearch Modelarski wyszukiwania stowarzyszenie
- 11. Dla pthread, Jak zabić wątek potomny z głównego wątku
- 12. Czy są jakieś apisy do wyszukiwania i pobierania napisów online?
- 13. Jak usunąć masowo w PHP ElasticSearch API
- 14. Elasticsearch wewnętrzne trafienia w java api
- 15. szyny - sugestia uzupełnienia Elasticsearch i interfejs API wyszukiwania
- 16. Czy wątek trojański (? :) wątek jest bezpieczny w C#?
- 17. Spersonalizowane wyniki wyszukiwania dla Elasticsearch
- 18. Jak przechowywać pieniądze w elasticsearch
- 19. Jak zabić proces w kosmosie
- 20. Jak stwierdzić, czy wątek jest głównym wątkiem w C#
- 21. StretchDIBits wydaje się powolny, Czy jest jakieś API szybsze?
- 22. Elasticsearch Java API - budowanie zapytań
- 23. Czy wątek TelemetryClient Application Insight jest bezpieczny?
- 24. Dystrybucja Scali w klastrze?
- 25. Śledzenie zdarzeń w UIScrollView blokuje główny wątek. Jakieś poprawki?
- 26. jak zakończyć wątek spania w pthread?
- 27. Jak sprawdzić, czy klient ElasticSearch jest podłączony?
- 28. Czy wątek RNGCryptoServiceProvider.GetBytes jest bezpieczny?
- 29. Przewiń przykład w ElasticSearch NEST API
- 30. Czy wątek libuv jest bezpieczny?
Ja też chciałbym znać odpowiedź na to pytanie; nie ma żadnego sposobu na zarządzanie/monitorowanie zapytań w ES po przejrzeniu źródła, więc byłoby miło, gdyby ktoś tu zagrał. – MatthewJ
Poprosiłem również grupy googlegroups, a jeden z nich powiedział, że nie może zatrzymać istniejącego żądania i sugeruje, że ustawię limit czasu dla zapytania, aby zapobiec długotrwałym żądaniom. – Hoony