Instancje Cloud Run są zabijane z powodu OOM (HTTP 500) podczas szczytów ruchu, które zbiegają się ze zwiększoną liczbą zapytań do Firestore w celu przeglądania produktów. Jak zapobiec awariom i zmniejszyć obciążenie Firestore, jednocześnie optymalizując wydajność?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Paginate the product-list query using cursors with limits..
Dlaczego to jest odpowiedź
Paginacja zapytania o listę produktów przy użyciu kursorów z limitami jest najlepszym rozwiązaniem. Pozwala to na pobieranie tylko części danych na raz, co zmniejsza obciążenie pamięci instancji Cloud Run i liczbę odczytów z Firestore. Kursory są wydajniejsze niż offsety, ponieważ nie wymagają skanowania pominiętych dokumentów. Stworzenie niestandardowego indeksu Firestore może poprawić wydajność zapytań, ale nie rozwiąże problemu OOM ani nadmiernego obciążenia Firestore, jeśli nadal pobierane są wszystkie dane. Zwiększenie alokacji pamięci Cloud Run jest tylko tymczasowym obejściem, które nie rozwiązuje podstawowej przyczyny problemu – pobierania zbyt dużej ilości danych. Paginacja z użyciem offsetów jest mniej wydajna niż kursory, ponieważ Firestore musi przeskanować wszystkie dokumenty do momentu osiągnięcia offsetu.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana