Limity Earth Engine

Rodzaje limitów

Platforma Earth Engine ma kilka limitów, które zapewniają sprawiedliwy podział zasobów między użytkowników. W Earth Engine dostępnych jest wiele różnych typów zasobów (obliczeniowych, pamięci itp.), dlatego istnieje wiele różnych limitów przydziału.

Główna różnica między różnymi typami limitów polega na tym, czy można je dostosowywać. W przypadku niektórych rodzajów limitów możemy zmieniać limity dla poszczególnych użytkowników lub projektów, a inne rodzaje limitów są ograniczeniami systemowymi, których nie można zmienić.

Dostosowywane limity

Poniższe limity można dostosować w przypadku poszczególnych projektów. Informacje o tym, jak poprosić o dodatkowy limit, znajdziesz na stronie pomocy.

Typ limitu Wartość domyślna (w przypadku każdego projektu)
Maksymalna liczba równoczesnych żądań (standardowy punkt końcowy) 40 równoczesnych żądań
Maksymalna liczba równoczesnych żądań (punkt końcowy o dużej liczbie żądań) 40 równoczesnych żądań
Maksymalna liczba żądań (na projekt) 100 żądań/s (6000 żądań/min)
Maksymalna liczba żądań (na konto) 100 żądań/s (6000 żądań/min)
Średnia liczba równoczesnych zadań zbiorczych 2 zadania (średnio)
Maksymalna ilość miejsca na dane 250 GB
Maksymalna liczba komponentów 10 000
Dzienny czas obliczeniowy Earth Engine (EECU-time) w sekundach Bez ograniczeń

Równoczesne żądania interaktywne

Każdy projekt może równolegle wysyłać żądania interaktywne w ramach limitu. Jeśli limit zostanie przekroczony, Earth Engine zwróci błędy „HTTP 429: Too Many Requests”. Zazwyczaj te błędy są obsługiwane przez bibliotekę klienta Earth Engine, która opakowuje żądania w odczekiwanie wykładnicze i ponawia zapytanie, dopóki nie zostanie ono wykonane. Biblioteka klienta Earth Engine ponawia próbę wysłania żądania maksymalnie 5 razy.

Aby uniknąć błędów 429, możesz włączyć buforowanie w aplikacji, np. za pomocą memcache, aby w miarę możliwości unikać zbędnych zapytań. Jeśli używasz starszej wersji biblioteki klienta Earth Engine, która nie powtarza zapytań automatycznie, lub jeśli zapytanie nadal nie zostało ukończone po 5 powtórzeniach, może być konieczne wdrożenie algorytmu Exponential back-off w przypadku żądań.

Częstotliwość żądań (QPS)

Oprócz limitów współbieżności Earth Engine ogranicza szybkość interaktywnych żądań na poziomie projektu i użytkownika. Te ustawienia można dostosować w konsoli Cloud.

Równoczesne zadania wsadowe

Zadania wsadowe mają ograniczony poziom równoległości, ponieważ zużywają więcej zasobów niż żądania interaktywne.

W przypadku niekomercyjnego korzystania z Earth Engine maksymalna liczba zadań wsadowych, które możesz uruchomić jednocześnie, jest ustawiona na wartość domyślną, chyba że przyznano Ci zwiększenie limitu.

W przypadku komercyjnego korzystania z Earth Engine maksymalna liczba zadań wsadowych, które można uruchomić jednocześnie, jest określana przez plan cenowy, ale można ją dodatkowo zmniejszyć, ustawiając limit współbieżności zadań wsadowych dla poszczególnych projektów. Domyślnie limit współbieżności zadań wsadowych w projekcie jest ustawiony na maksymalną wartość dozwoloną przez pakiet płatności skonfigurowany na koncie rozliczeniowym projektu. Aby wyświetlić lub zaktualizować ten limit w projekcie, zapoznaj się z dokumentacją narzędzia wiersza poleceń.

Limit miejsca na dane dotyczące komponentów

Każdy zasób Earth Engine ma odpowiadający mu rozmiar pamięci danych mierzony w bajtach. Komponenty mogą należeć do projektów w Cloud lub do osób (starsze komponenty), a każdy komponent jest wliczany do limitu Earth Engine właściciela w zakresie ogólnej ilości miejsca na dane i liczby komponentów.

EECU-time per day

Jeśli chcesz kontrolować koszty, możesz ograniczyć ilość czasu EECU, jaką projekt może wykorzystywać w Earth Engine każdego dnia. Domyślnie ten limit jest nieograniczony. Administratorzy limitów mogą ustawić ten limit w konsoli Google Cloud, filtrując dane earthengine.googleapis.com/daily_eecu_usage_time limitu. Po ustawieniu ten limit gromadzi czas EECU zużyty przez udane żądania Earth Engine wszystkich użytkowników w projekcie. Po przekroczeniu limitu żądania będą odrzucane do czasu zresetowania limitu następnego dnia lub jego zwiększenia. Więcej informacji o ustawianiu tego limitu znajdziesz w przewodniku po kontroli kosztów.

Stanowiska użytkowników

W przypadku komercyjnego korzystania z Earth Engine każdy poziom subskrypcji obejmuje określoną liczbę stanowisk użytkowników. Można też kupić dodatkowe stanowiska.

Administratorzy usług powinni kupić liczbę licencji odpowiadającą liczbie użytkowników Edytora kodu w danym cyklu rozliczeniowym.

Najczęstsze pytania

P: Kto wlicza się do liczby stanowisk?
O: Do limitu miejsc wliczają się tylko unikalni użytkownicy, którzy korzystają z obliczeń Earth Engine w Edytorze kodu (wyświetlają kafelki mapy, wysyłają zapytania obliczeniowe itp.).

P: Co się stanie, jeśli liczba użytkowników zmieni się z miesiąca na miesiąc?
O: Miejsca nie są przypisane do konkretnych osób – nie są to nazwane przedziały. Jeśli w danym miesiącu nie przekroczysz liczby użytkowników, ich tożsamość nie ma znaczenia.

P: A co z kontami usługi?
O: Konta usługi nie są wliczane do liczby miejsc. Nie są one traktowane jako użytkownicy wykonujący obliczenia.

P: Co z użytkownikami, którzy uzyskują dostęp do Earth Engine za pomocą Pythona?
O: Użytkownicy, którzy uzyskują dostęp do Earth Engine tylko za pomocą interfejsu Python API i nie korzystają z edytora kodu, nie są wliczani do wykorzystania licencji. Liczba stanowisk jest powiązana z używaniem edytora kodu.

P: Gdzie są zliczane miejsca?
O: Liczba miejsc jest stosowana na poziomie konta rozliczeniowego. Wszyscy użytkownicy w organizacji, którzy korzystają z Edytora kodu, wliczają się do łącznej liczby miejsc na koncie rozliczeniowym.

P: Co się stanie, jeśli przekroczymy limit miejsc?
O: Monitorujemy powtarzające się naruszenia i egzekwujemy limity na poziomie konta rozliczeniowego.

P: Jak kupić więcej lub mniej licencji?
O: Szczegółowe informacje znajdziesz na stronie cennika Earth Engine.

Stałe limity

Te typy limitów są ustawiane na poziomie platformy, więc nie można ich dostosować na poziomie poszczególnych użytkowników lub projektów. Prawdopodobnie nie zmienią się one znacząco z czasem.

Czas obliczeń

Różne typy żądań mają różne maksymalne czasy trwania, które są szczegółowo opisane w dokumentacji dotyczącej środowisk przetwarzania.

Pomoc dotyczącą naprawiania błędów przekroczenia limitu czasu znajdziesz w przewodniku po debugowaniu.

Wykorzystanie pamięci na żądanie

Jeśli żądanie zakończy się niepowodzeniem z powodu przekroczenia limitu pamięci użytkownika, oznacza to, że Earth Engine nie był w stanie obliczyć odpowiedzi w ramach dozwolonego rozmiaru pamięci. Platforma obliczeniowa EE ma ograniczoną ilość dostępnej pamięci RAM, dlatego aby zapewnić stabilność systemu, każde żądanie może wykorzystywać tylko określoną ilość pamięci. Maksymalna ilość dostępnej pamięci zależy od typu żądania (np. więcej w przypadku zadania wsadowego niż w przypadku kafelka mapy), ale są to limity systemowe.

Pomoc dotyczącą naprawiania błędów pamięci znajdziesz w przewodniku debugowania.

Agregacje

Podczas przetwarzania żądań Earth Engine wyodrębniamy pewne rodzaje obliczeń pomocniczych, które są bardzo wymagające pod względem mocy obliczeniowej. Te obliczenia cząstkowe są nazywane „agregacjami” i są specjalnie obsługiwane w systemie EE. Wyniki agregacji są przechowywane w pamięci podręcznej, aby uniknąć ponownego obliczania.

Równoczesne agregacje

Aby uniknąć niekontrolowanego rozprzestrzeniania się obliczeń, ograniczamy liczbę agregacji, które pojedynczy użytkownik może uruchomić jednocześnie. Nie można tego zmienić. Gdy żądanie zakończy się niepowodzeniem z powodu „Zbyt wielu równoczesnych agregacji”, oznacza to, że osoba wysyłająca żądanie miała zbyt wiele agregacji uruchomionych w tym samym czasie.

Pomoc dotyczącą naprawiania błędów związanych z jednoczesnym przesyłaniem zbiorczym znajdziesz w tym przewodniku.

Wyniki dużej agregacji

Jeśli żądanie zakończy się niepowodzeniem z komunikatem „Computed value too large” (Obliczona wartość jest zbyt duża), oznacza to, że agregacja zwróciła wynik, który jest zbyt duży, aby zmieścić się w naszej pamięci podręcznej. Limit rozmiaru obliczonych wyników wynosi 100 MiB i jest to limit obowiązujący w całym systemie.

Limity importu tabel

Limity przesyłania tabel opisano w przewodniku po importowaniu danych z tabeli.

Rozmiar ładunku żądania

Pojedyncze zapytanie do Earth Engine jest ograniczone do 10 MB. Ten limit jest zwykle przekraczany tylko wtedy, gdy w zapytaniu znajduje się duży fragment dodatkowych danych, np. plik kształtu lub struktura GeoJSON, które zostały wstawione do zapytania. Zamiast tego należy je przesłać i przekształcić w zasób FeatureCollection, a następnie odwoływać się do nich za pomocą identyfikatora zasobu.

Długość kolejki zadań

Zadania, które czekają na zaplanowanie (w stanie READY), tworzą „kolejkę zadań”. Kolejka każdego projektu obsługuje maksymalnie 3000 zadań. Oznacza to,że nie można mieć więcej niż 3000 zadań w stanie READY.

Limity dotyczące funkcji rastrowych BigQuery

W przypadku wywołań Earth Engine z BigQuery, np. podczas korzystania z funkcji SQL ST_REGIONSTATS, obowiązują te limity:

Typ limitu Wartość domyślna (w przypadku każdego projektu)
Czas przedziału BigQuery dziennie 1 260 000 sekund przedziałów (350 godzin przedziałów)

Czas przedziału BigQuery dziennie

Limit czasu przedziału BigQuery na dzień to limit niestandardowy, który pozwala ograniczyć ilość czasu przedziału, jaką funkcje rastrowe BigQuery mogą wykorzystywać w Earth Engine w danym dniu w danym projekcie. Limit dzienny obejmuje łączny czas wszystkich zapytań, nawet tych, które się nie powiodły. Limit możesz sprawdzić w Cloud Console w sekcji earthengine.googleapis.com/bigquery_slot_usage_time. Wartość limitu może być zwiększana lub zmniejszana przez administratora limitów. Aby zwiększyć wartość powyżej wartości domyślnej, utwórz prośbę o zwiększenie limitu, która zostanie automatycznie zatwierdzona. Zmiana powinna zacząć obowiązywać w ciągu 10 minut.

Jeśli przekroczysz ten limit, BigQuery zwróci ten komunikat o błędzie:

From Earth Engine: Custom quota exceeded: Your usage exceeded the custom quota for'earthengine.googleapis.com/bigquery_slot_usage_time', which is adjustable by your administrator in the Google Cloud console: https://console.cloud.google.com/quotas/?project=_.

Po przekroczeniu limitu wywołania ST_REGIONSTATS będą kończyć się niepowodzeniem do czasu zresetowania limitu następnego dnia lub zwiększenia go przez administratora.