Generowanie miniatur odczytuje oryginały, zapisuje wiele małych plików pochodnych, aktualizuje wiersze bazy danych i może konkurować o CPU z kodowaniem wideo lub uczeniem maszynowym. Uruchamianie go podczas tworzenia kopii zapasowej NAS może wydłużyć oba zadania i zwiększyć opóźnienia podczas interaktywnego przeglądania zdjęć.
Celem nie jest trwałe spowolnienie generowania miniatur. Zmierz, który zasób koliduje z tworzeniem kopii zapasowej, ogranicz tylko odpowiednią współbieżność i wyznacz każdemu intensywnemu zadaniu określone okno wraz z zasadą postępowania w razie przekroczenia czasu. Udokumentuj normalne ustawienia workerów, aby tymczasowe ograniczenie nie stało się niezauważalnym stałym limitem.
Zmierz kolizję przed zmianą liczby workerów
Wykonaj normalną kopię zapasową bez zaległości miniatur i zanotuj czas trwania, opóźnienia pamięci masowej, przepustowość sieci oraz użycie CPU. Innego dnia przetwórz reprezentatywną partię miniatur bez ruchu związanego z kopią zapasową i zarejestruj te same metryki.
Ograniczony zasób określa rozwiązanie. Wysokie opóźnienia dysku sugerują rozdzielenie w czasie obciążeń odczytu i zapisu; przeciążone CPU sugeruje zmniejszenie liczby workerów obrazów; obciążony wolumin bazy danych może wymagać oddzielenia pamięci masowej bazy danych od pamięci na pliki pochodne.
Immich udostępnia kolejki zadań i elementy sterujące workerami opisane w dokumentacji zadań i workerów. Zapisz bieżące wartości przed ich edycją, aby nieudany eksperyment można było łatwo wycofać.
Ustal ciche okno i zasadę postępowania w razie przekroczenia czasu
Umieść kopie zapasowe w oknie z największymi wymaganiami dotyczącymi możliwości odzyskania danych, a następnie zarezerwuj poprzedzające je lub następujące po nim okno na generowanie miniatur. Unikaj uruchamiania obu zadań w tej samej minucie, ponieważ start kolejki może spowodować nagły wzrost liczby otwieranych plików i aktywności bazy danych.
Określ, co ma się stać, jeśli tworzenie kopii zapasowej się przedłuży. Bezpieczna zasada to pozostawienie zmniejszonej liczby workerów miniatur lub ich wstrzymanie do czasu zgłoszenia zakończenia kopii zapasowej, a następnie przywrócenie ich normalnej współbieżności zamiast dopuszczania do bezmyślnego nakładania się harmonogramów.
Po dużych importach pozostaw okno na nadrobienie zaległości. Bez niego niski nocny limit workerów może sprawić, że użytkownicy będą czekać na miniatury przez wiele dni, mimo że w ciągu dnia dostępne są zasoby.
Dostosuj współbieżność do wąskiego gardła
Zmieniaj jednorazowo jedną klasę workerów lub jedną wartość współbieżności i przetwarzaj partię tej samej wielkości. Porównuj tempo opróżniania kolejki z czasem trwania kopii zapasowej i opóźnieniami interaktywnymi, zamiast oceniać powodzenie wyłącznie na podstawie wykorzystania CPU.
Jeśli oryginały i kopie zapasowe korzystają ze wspólnych dysków HDD, mniejsza liczba równoczesnych odczytów obrazów często pomaga bardziej niż wyższy limit CPU. Jeśli oryginały znajdują się na szybkiej pamięci masowej, ale baza danych jest obciążona, przenieś obciążenie bazy danych lub zapewnij mu ochronę przed zwiększeniem liczby workerów.
Zadbaj o niezawodność montowanych zasobów sieciowych podczas obu operacji. Poradnik dotyczący sieciowej pamięci masowej Immich wyjaśnia, dlaczego zamontowana, ale zablokowana ścieżka może wyglądać jak problem z zadaniem aplikacji.
Zweryfikuj jeden pełny cykl i przywróć normalne działanie
Obserwuj pełną kopię zapasową, po której następuje okno generowania miniatur. Zapisz godziny rozpoczęcia i zakończenia, maksymalne opóźnienie pamięci masowej, głębokość kolejki, nieudane zadania oraz to, czy użytkownicy mogą otwierać najnowsze zdjęcia podczas cyklu.
Po opróżnieniu zaległości przywróć współbieżność do udokumentowanej normalnej wartości, jeśli zmniejszone ustawienie służyło wyłącznie ochronie przed przeciążeniem podczas nadrabiania zaległości. Stałe ograniczenie powinno być zamierzone i oparte na zmierzonych celach dotyczących działania usługi.
Zmiana jest udana, gdy czas trwania kopii zapasowej pozostaje przewidywalny, kolejki miniatur opróżniają się w zaplanowanym okresie nadrabiania zaległości, a także nie pojawiają się nieudane zadania ani brakujące zasoby. Wycofaj ostatnią zmianę współbieżności, jeśli wzrośnie liczba błędów lub opóźnienie bazy danych.
Wsparcie i wskazówki
Więcej do przeczytania

Czy można wymienić hałaśliwy wentylator w mini-PC bez zmiany kontroli temperatury?
Tak - o ile zamiennik jest zgodny z interfejsem elektrycznym, przepływem powietrza i sygnałami sprzężenia zwrotnego; samo dopasowanie złącza nie zapewnia zachowania kontroli termicznej.

Czy serwer domowy może wznowić działanie usług w kolejności zależności po przywróceniu zasilania przez UPS?
Tak - używaj jawnych zależności uruchamiania i kontroli gotowości; same zasady ponownego uruchamiania nie gwarantują, że usługi staną się użyteczne we właściwej kolejności.

Czy można używać funkcji Wake-on-LAN po całkowitym odcięciu zasilania?
Czasami funkcja WOL wymaga zasilania w trybie czuwania oraz odpowiedniego stanu oprogramowania układowego/karty sieciowej, aby odzyskać działanie po przywróceniu zasilania sieciowego; nie może wybudzić...

