Przechowywanie danych i automatyczna konserwacja: dlaczego dysk się nie zapełnia
Zestaw obejmujący tysiące testów dziennie przez cały dzień zapisuje materiały dowodowe: nagrania, ślady wykonania, zrzuty ekranu i raporty. Nexus Studio samodzielnie ogranicza zajmowane przez nie miejsce. Każdy folder ma limit na test, wszystkie materiały dowodowe mają wspólny budżet, a na dysku pozostaje minimalny zapas wolnego miejsca. Ta strona wyjaśnia, co przyrasta, co jest usuwane w pierwszej kolejności, czego nigdy się nie usuwa i jak 10 000 uruchomień dziennie przekłada się na wykorzystanie dysku.
Autor: zespół Nexus Studio, Verdict System LLC. 9 października 2026.
Co przyrasta i dlaczego pozostaje w granicach limitów
Każde uruchomienie coś zapisuje. Po pomyślnym teście pozostają zrzut ekranu i jego metadane. Po nieudanym teście pozostaje folder: report.md, metadata.json, raw-data.json, screenshot.png, a w przypadku rzeczywistego błędu także video.webm i trace.zip. Uruchomienia testów API, testów chaosu, Smart Monkey, testów obciążeniowych i regresji wizualnej mają własne foldery, a każde uruchomienie dodaje wiersz do Historii i pliki tymczasowe do pamięci podręcznej uruchomień.
Sam limit na test nie wystarczy. Przechowywanie 20 nieudanych uruchomień to niewiele dla jednego testu, ale przy 10 000 testów oznacza pełny dysk. Dlatego silnik ogranicza zajęte miejsce na dwóch poziomach: przez limit na test oraz wspólny budżet dla wszystkich materiałów dowodowych, który nie rośnie wraz z liczbą testów.
Pierwszy poziom: limit na test
Dla każdego rodzaju materiałów dowodowych przechowywana jest określona liczba najnowszych uruchomień. Oto wartości domyślne:
| Materiały dowodowe | Domyślnie przechowywane | Ustawienie |
|---|---|---|
| Nieudane testy | 20 najnowszych uruchomień na test i przeglądarkę | NEXUS_BUGREPORT_RETAIN |
| Pomyślne testy | 5 najnowszych uruchomień na test i przeglądarkę | NEXUS_PASSED_RETAIN |
| Uruchomienia testów API | 20 najnowszych pomyślnych uruchomień na test API. Nieudane uruchomienia nie mają własnego limitu: ogranicza je budżet. | NEXUS_API_EVIDENCE_KEEP |
| Testy z celowymi zakłóceniami | 20 najnowszych uruchomień, w których system wytrzymał próbę, na test i przeglądarkę. Uruchomienia, w których wystąpiła awaria, nie mają własnego limitu: ogranicza je budżet. | NEXUS_CHAOS_RETAIN |
| Regresje wizualne | 10 najnowszych na test i punkt kontrolny | NEXUS_VISUAL_REGRESSION_RETAIN |
| Sesje Smart Monkey | 10 najnowszych | NEXUS_MONKEY_RETAIN |
| Kontekst uruchomienia | 100 najnowszych uruchomień | NEXUS_RUN_CONTEXT_RETAIN |
| History | 50 najnowszych wierszy na test i przeglądarkę | NEXUS_HISTORY_RETAIN |
| Archiwum telemetrii | Maksymalnie 2 archiwa zip, żadne nie starsze niż 7 dni, łącznie 500 MB | NEXUS_CACHE_ZIPS, NEXUS_CACHE_RETENTION_DAYS, NEXUS_CACHE_MAX_MB |
Każde z tych ustawień ma osobny wiersz w pliku .env obszaru roboczego. W Ustawieniach można edytować je wszystkie z wyjątkiem trzech limitów telemetrii.
Drugi poziom: wspólny budżet dla wszystkich materiałów dowodowych i minimalny zapas wolnego miejsca
NEXUS_EVIDENCE_MAX_GB, domyślnie 20 GB, ogranicza łączny rozmiar wszystkich materiałów dowodowych: z testów nieudanych, udanych, API, chaosu, Smart Monkey, obciążeniowych i regresji wizualnej. Limit nie rośnie wraz z liczbą testów. Przy 100 czy 10 000 testów materiały dowodowe pozostają poniżej niego.
NEXUS_MIN_FREE_GB, domyślnie 10 GB, określa ilość wolnego miejsca, która ma pozostać na dysku. Gdy wolne miejsce spada poniżej tego progu, starsze materiały dowodowe są usuwane, nawet jeśli ich łączny rozmiar nadal mieści się w budżecie.
Po przekroczeniu któregokolwiek limitu silnik usuwa całe foldery wykonań w następującej kolejności:
- Udane wykonania i regresje wizualne, od najstarszych.
- Następnie nieudane wykonania, od najstarszych.
- Kończy usuwanie, gdy tylko materiały dowodowe zmieszczą się w budżecie, a wolne miejsce na dysku przekroczy minimalny próg.
Jeśli pozostanie tylko najnowsze wykonanie każdego testu, a łączny rozmiar nadal przekracza budżet, silnik informuje o tym po wykonaniu: zwiększ budżet lub zarchiwizuj potrzebne materiały i usuń starsze wykonania. Minimalny próg działa wyłącznie poprzez usuwanie materiałów dowodowych. Gdy dysk zapełniają inne pliki, silnik usuwa własne materiały dowodowe, pozostawiając tylko najnowsze wykonanie każdego testu, a Studio nadal ostrzega o małej ilości miejsca na dysku.
Czego nigdy nie usuwamy
- Najnowsze wykonanie każdego testu dla każdej przeglądarki oraz najnowsza sesja Smart Monkey i najnowsze wykonanie testu obciążeniowego. Wykonanie, które właśnie się zakończyło, jest zawsze najnowsze w swojej kategorii.
- Archiwum. Kopie zachowane za pomocą opcji Archiwizuj… w Evidence Locker znajdują się obok folderu materiałów dowodowych, a nie w nim. Nie podlegają ani limitom, ani budżetowi.
- Historia. Usunięcie folderu wykonania nie usuwa jego wiersza. Historia ma własny zakres przechowywania, domyślnie 50 wykonań na test i przeglądarkę.
- Łańcuch nadzoru nad dowodami. Do rejestru można tylko dopisywać wpisy i nigdy nie jest on skracany.
Usuwanie zapieczętowanych materiałów dowodowych jest rejestrowane
Pieczętowanie jest opcjonalne. Zapieczętowany rekord zawiera skróty SHA-256 wszystkich plików w swoim folderze i jest powiązany z poprzednim rekordem, więc zniknięcie zapieczętowanego folderu bez żadnej adnotacji wyglądałoby dokładnie jak manipulacja.
Zanim folder zapieczętowany zostanie usunięty z powodu przekroczenia budżetu, silnik dopisuje do rejestru wpis PURGE, wskazując budżet dyskowy jako przyczynę usunięcia oraz czas usunięcia. Rejestr nadal potwierdza wartość skrótu folderu, a nexus verify zgłasza rekord jako PURGED, a nie zmanipulowany. Jeśli rejestr nie może zapisać wpisu PURGE, folder pozostaje.
Co działa automatycznie i kiedy
Silnik przeprowadza automatyczne porządkowanie po każdym wykonaniu, w każdym trybie: pojedynczego testu, zestawu, pętli, harmonogramu Watch oraz wykonań Selenium, pytest i API.
- Wolne miejsce jest sprawdzane po każdym wykonaniu.
- Rozmiar materiałów dowodowych jest sprawdzany nie częściej niż co 15 minut lub natychmiast, gdy wolne miejsce na dysku spadnie poniżej minimalnego progu. Podczas tego porządkowania najstarsze wykonania są usuwane do chwili spełnienia obu limitów.
- Pliki tymczasowe są usuwane. Pliki wyników poszczególnych wykonań i dzienniki testowanej aplikacji są usuwane po 24 godzinach. Zachowywanych jest 14 najnowszych plików dzienników błędów konfiguracji. Foldery pozostawione w folderze tymczasowym Windows przez wymuszone przerwanie wykonania również są usuwane po 24 godzinach.
- Folder tymczasowych plików wyjściowych Playwright jest opróżniany na początku i na końcu każdego wykonania.
- Dzienniki podlegają rotacji po osiągnięciu 10 MB.
- Pliki tymczasowe telemetrii są pakowane do archiwum zip po każdym wykonaniu, z zachowaniem trzech powyższych limitów.
Co widać w Studio
Obszar roboczy › Dysk pokazuje:
- miejsce zajmowane przez materiały dowodowe w stosunku do budżetu;
- wolne miejsce na dysku w stosunku do minimalnego progu;
- czas ostatniego sprawdzenia i ilość miejsca zwolnionego podczas ostatniego porządkowania;
- Uruchom porządkowanie teraz, co uruchamia to samo porządkowanie od razu zamiast po kolejnym wykonaniu.
Gdy wolne miejsce spadnie poniżej minimalnego progu, Studio wyświetla ostrzeżenie o małej ilości miejsca na dysku. Oba limity znajdują się w ustawieniach, w sekcji Materiały dowodowe & przechowywanie. Ten sam panel zawiera listę wszystkich folderów, do których zapisuje dane wykonanie, wraz z ich rozmiarem i limitem: co zachowuje każde wykonanie.
Docker i zdalne hosty
Silnik może uruchamiać zestawy testów w Docker na tym komputerze lub w kontenerze na serwerze Linux przez SSH. Samo Studio pozostaje w Windows.
- Dzienniki kontenerów są ograniczone do trzech plików po 10 MB na usługę, dzięki czemu kontener działający miesiącami nie zapełnia hosta własnymi danymi wyjściowymi.
- Samodzielnie hostowany moduł wykonawczy GitHub rejestruje się tylko raz. Po ponownym uruchomieniu korzysta z dotychczasowej rejestracji, zamiast rejestrować się ponownie.
- Na tym hoście działa ten sam silnik, z tymi samymi limitami, budżetem i minimalnym progiem wolnego miejsca dla zapisywanych tam materiałów dowodowych.
Przykład obliczeniowy: 10 000 wykonań dziennie
To szacunek, nie pomiar. Załóżmy:
- 10 000 wykonań testów dziennie;
- 5% kończy się niepowodzeniem, czyli 500 nieudanych wykonań dziennie;
- około 3 MB na folder nieudanego wykonania: nagranie wideo, ślad wykonania, zrzut ekranu i dane.
To około 1.5 GB materiałów diagnostycznych dotyczących niepowodzeń dziennie. Przy domyślnym limicie 20 GB na dysku pozostają materiały z mniej więcej dwóch ostatnich tygodni, a ich łączny rozmiar nigdy nie przekracza 20 GB. Materiały z udanych testów są usuwane jako pierwsze, więc miejsce jest przeznaczane na materiały dotyczące niepowodzeń, które najprawdopodobniej będą potrzebne.
Rozmiar 3 MB zakłada zachowanie zarówno nagrania wideo, jak i zapisu śledzenia. Folder BREACHED na stronie materiałów diagnostycznych zajmuje 531.2 kB bez zapisu śledzenia.
Dostosowanie do dużych zestawów testów
- Dłuższa historia: zwiększ
NEXUS_EVIDENCE_MAX_GB. Na dysku o pojemności 1 TB limit 200 GB pozwala przechować dziesięć razy więcej niż domyślnie, czyli około czterech miesięcy niepowodzeń przy 1.5 GB dziennie. Limity dla poszczególnych testów nadal obowiązują: test zachowuje najwyżej 20 nieudanych uruchomień, chyba że zwiększysz równieżNEXUS_BUGREPORT_RETAIN. - Mniej danych na niepowodzenie: wyłącz śledzenie za pomocą
NEXUS_TRACE_ENABLED=falselub zachowuj wideo dla mniejszej liczby wyników za pomocąNEXUS_VIDEO_VERDICTS. Ten sam limit miejsca wystarczy wtedy na więcej dni. - Miejsce dla innych programów: zwiększ
NEXUS_MIN_FREE_GB, jeśli komputer potrzebuje więcej niż 10 GB wolnego miejsca. - Testy uruchamiane wiele razy dziennie: zwiększ
NEXUS_HISTORY_RETAIN, na przykład do 500, aby Historia obejmowała więcej niż kilka dni. - Niepowodzenie, które musisz zachować: zarchiwizuj je ze Schowka dowodów, zanim zostanie usunięte ze względu na wiek.
Pytania
Czy zapełni mi dysk, jeśli będę uruchamiać 10,000 testów dziennie?
Nie samymi dowodami. Dowody nie przekraczają swojego limitu miejsca, domyślnie 20 GB, niezależnie od liczby uruchamianych testów, a silnik usuwa starsze dowody, aby zachować 10 GB wolnego miejsca na dysku. Więcej uruchomień dziennie oznacza, że dowody obejmują krótszy okres, a nie że zajmują więcej miejsca. Pliki poza dowodami, takie jak obrazy Docker czy własne obszary robocze, nie są wliczane do limitu.
Czy czyszczenie może usunąć niepowodzenie, którego potrzebuję?
Tak, gdy niepowodzenie jest wystarczająco stare: po przekroczeniu limitu miejsca usuwane są najstarsze uruchomienia, udane przed nieudanymi, a najnowsze uruchomienie każdego testu w każdej przeglądarce zawsze pozostaje. Aby zachować niepowodzenie na stałe, wybierz Archiwizuj… w Schowku dowodów. Kopia znajduje się poza folderem dowodów i nie podlega ani limitom liczby uruchomień, ani limitowi miejsca.
Czy po czyszczeniu zapieczętowany rekord zostanie uznany za zmodyfikowany?
Nie. Wpis PURGE trafia najpierw do rejestru, a nexus verify zgłasza stan rekordu jako PURGED.
Co się dzieje, gdy dysk jest prawie pełny?
Gdy ilość wolnego miejsca spadnie poniżej progu, domyślnie 10 GB, silnik natychmiast sprawdza rozmiar dowodów, zamiast czekać na kontrolę wykonywaną co 15 minut, usuwa starsze dowody nawet przy nieprzekroczonym limicie miejsca, a Studio wyświetla ostrzeżenie o małej ilości miejsca na dysku. Jeśli miejsce zajmują inne pliki, zwalnia tyle, ile może, i nadal wyświetla ostrzeżenie.
Czy muszę coś robić?
Nie. Konserwacja odbywa się po każdym uruchomieniu. Opcja Uruchom konserwację teraz w sekcji Obszar roboczy › Dysk uruchamia ją natychmiast.