Dostosuj Immich na małym serwerze domowym, najpierw chroniąc responsywność przesyłania i bazy danych, a następnie ograniczając lub planując tworzenie miniatur, przetwarzanie wideo i zadania uczenia maszynowego zgodnie ze zmierzonym obciążeniem procesora, pamięci i pamięci masowej.
Istotnym obciążeniem nie jest bezczynny pulpit, lecz wieczór, gdy kilka telefonów przesyła zdjęcia i filmy, a kopie zapasowe, wyszukiwanie i zadania tworzenia plików pochodnych konkurują o zasoby. Zmierz ten szczyt, zmieniaj jednorazowo tylko jeden parametr współbieżności lub harmonogramu oraz zachowaj oryginały i kopie zapasowe bazy danych. Wolniejsza kolejka jest akceptowalna; nieudane przesyłanie, użycie pamięci wymiany lub brak responsywności bazy danych — nie.
Zmierz największe obciążenie związane z rodzinnym przesyłaniem przed dostrajaniem
Przygotuj reprezentatywną partię zawierającą zdjęcia z telefonu, krótkie filmy i jeden większy klip. Zapisz czas ukończenia przesyłania, długość kolejki zadań, użycie procesora i pamięci, pamięć wymiany, opóźnienie dysku, wolne miejsce oraz przepustowość sieci — od rozpoczęcia do chwili, gdy kolejka ponownie będzie pusta. Ta wartość bazowa wskaże zasób, który rzeczywiście osiąga nasycenie.
Dyskusja na temat Immich i uczenia maszynowego na małym serwerze pokazuje, jak porady sprzętowe zależą od rozmiaru biblioteki, wyboru modelu oraz tego, czy przetwarzanie może odbywać się później. Skorzystaj z tego porównania zależnego od obciążenia, aby uniknąć kupowania sprzętu lub dostrajania systemu na podstawie bezczynnego użycia zasobów.
Wynik pozytywny oznacza, że przesyłanie pozostaje responsywne, a zaległości znikają w akceptowalnym czasie. Jeśli pamięć zaczyna być przenoszona do pamięci wymiany lub kontenery są restartowane, najpierw zmniejsz współbieżność. Jeśli procesor jest w pełni obciążony, ale interakcja pozostaje responsywna, zaplanuj ciężkie zadania. Jeśli opóźnienie pamięci masowej rośnie we wszystkich usługach, chroń aktywną ścieżkę danych, zanim zmienisz modele.
Ogranicz liczbę jednoczesnych zadań i zaplanuj ciężkie operacje
Zmniejsz współbieżność dla zmierzonej ciężkiej kolejki, zamiast globalnie pozbawiać zasobów wszystkich procesów roboczych. Transkodowanie wideo i uczenie maszynowe często dominują nad różnymi zasobami, natomiast wyodrębnianie metadanych i tworzenie miniatur wpływają na odczuwaną gotowość. Zmieniaj jedną kolejkę, ponownie uruchom tę samą partię i porównuj zarówno responsywność, jak i czas opróżniania kolejki.
Planuj skanowanie dużych bibliotek, kopie zapasowe i opcjonalne ponowne przetwarzanie poza okresem rodzinnego przesyłania. Nie nakładaj na siebie migawki pamięci masowej, konserwacji bazy danych i transkodowania wideo na serwerze z jednym wolnym dyskiem. Wynik pozytywny to mniejsze szczytowe współzawodnictwo o zasoby bez pozostawiania stale rosnącej kolejki.
Podczas dostrajania monitoruj limity ponowień i logi. Jeśli zadania kończą się błędami, przywróć poprzednie ustawienie i rozwiąż problem, zamiast zmniejszać liczbę procesów roboczych do momentu, gdy awarie staną się mniej widoczne. Celem jest ograniczenie pracy, a nie jej ukrycie.
Zapewnij szybkość aktywnego stanu i ochronę oryginałów
W miarę możliwości umieść bazę danych i często zapisywane dane pochodne na niezawodnej pamięci masowej o niskim opóźnieniu, a warstwę z oryginałami dobieraj pod kątem pojemności, trwałości i strategii tworzenia kopii zapasowych. Nie przenoś katalogu surowej bazy danych na przypadkowy udział sieciowy tylko po to, aby zwolnić miejsce lokalnie.
Niezależny przewodnik po samodzielnym hostowaniu Immich przedstawia szerszy kontekst decyzji dotyczących pamięci masowej, dostępu i zdalnego korzystania z domowej usługi fotograficznej. Potraktuj go jako kontekst architektoniczny, a następnie sprawdź własne ścieżki i zachowanie podczas awarii.
Przewodnik ZimaSpace po tworzeniu kopii zapasowych rodzinnych zdjęć pomaga podporządkować dostrajanie możliwości odzyskania danych. Szybsze przetwarzanie nie zrekompensuje niesprawdzonej bazy danych ani braku kopii zapasowej oryginalnych plików.
Ponownie przetestuj rodzinny przepływ pracy i wyznacz granicę zatrzymania
Powtórz identyczną partię, gdy inny członek rodziny przegląda zdjęcia, wyszukuje je i pobiera oryginał. Wynik pozytywny wymaga pomyślnego przesyłania, użytecznej interakcji, braku spirali użycia pamięci wymiany lub restartów kontenerów oraz opróżnienia kolejki w zaplanowanym okresie poza szczytem.
Uruchom ponownie serwer, potwierdź trwałość podmontowań i limitów, a następnie przetestuj przesyłanie w tle z jednego telefonu poza siecią lokalną. Przez tydzień śledź użycie w okresach szczytowych, a nie średnie. Rozważ nowy sprzęt dopiero wtedy, gdy ten sam nazwany zasób wielokrotnie przekracza cel po bezpiecznym dostrojeniu.
Wycofaj limit, jeśli kolejki nigdy się nie opróżniają lub brakuje plików pochodnych. Przestań dodawać jednoczesne zadania, gdy ilość wolnego miejsca spadnie poniżej zmierzonego zapotrzebowania dla serii operacji. Eskaluj problem, przedstawiając stałą partię testową, wykresy użycia procesora i pamięci oraz opóźnienia pamięci masowej, nazwy kolejek i ustawienia przed oraz po zmianach, zamiast pojedynczego zrzutu ekranu pokazującego użycie zasobów.
Wsparcie i wskazówki
Więcej do przeczytania

Jak zoptymalizować połączenia z bazą danych Immich dla równoczesnych kontenerów
Nie zwiększaj najpierw wartości max_connections. Zmierz sesje Immich, zsumuj zapotrzebowanie wszystkich kontenerów, zachowaj rezerwę dla administratora i dostosuj tylko faktycznie potwierdzone wąskie gardło.

Jak zapobiegać duplikowaniu zadań lub importów w Immich
Oddziel powtarzające się zadania od zduplikowanych zasobów. Użyj jednej kanonicznej ścieżki pozyskiwania danych, kontroluj ponowne próby i zmiany ścieżek, a następnie przetestuj ponowne wprowadzanie...

Jak naprawić Immich po zapełnieniu woluminu bazy danych
Nigdy nie usuwaj dziennika WAL PostgreSQL, aby zwolnić miejsce. Zatrzymaj operacje zapisu w Immich, zachowaj stan bazy danych, bezpiecznie zwiększ pojemność, odzyskaj działanie PostgreSQL,...

