Czy Immich może zachować użyteczność wyszukiwania zdjęć podczas dużego importu z urządzenia mobilnego?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Tak, Immich może utrzymywać użyteczność wyszukiwania istniejących zdjęć podczas importu, jeśli współdzielone zasoby mają wystarczający zapas mocy, choć nowo przesłane zdjęcia mogą stać się dostępne w wyszukiwaniu dopiero później.

Domownicy importują zdjęcia z telefonu z wielu lat, podczas gdy ktoś wyszukuje starszy album urodzinowy. Szybkie zwrócenie znanego albumu i znalezienie każdego zdjęcia przesłanego w tej chwili to dwie różne obietnice. Oceniaj je osobno, ponieważ przetwarzanie w tle może pozostawać w tyle bez wyłączania istniejącego wyszukiwania, a rywalizacja o zasoby może spowolnić nawet wcześniej zindeksowane wyniki.

Istniejące wyszukiwanie i nowe dane to różne obietnice

Istniejące zindeksowane zasoby zawierają już informacje wymagane przez obsługiwaną ścieżkę wyszukiwania. Nowo przyjęte pliki mogą nadal wymagać wyodrębnienia metadanych, przygotowania widoku i wykonania odpowiednich zadań indeksowania. Pomyślne przesłanie pliku nie oznacza więc ani natychmiastowej dostępności w wyszukiwaniu semantycznym, ani tego, że wszystkie funkcje wyszukiwania zakończyły już przetwarzanie tego pliku.

Relacje z użytkowania dużych bibliotek opisują bardzo różne doświadczenia z importem na małych płytkach i większych maszynach, w tym instalacje, które pozostały użyteczne podczas trwającego przetwarzania. Relacje te pokazują zmienność, a nie minimalne wymaganie dotyczące pamięci RAM. Znaczenie mają zarówno rodzaj multimediów, włączone zadania, usługi działające równolegle i akceptowalny czas oczekiwania, jak i liczba zdjęć.

Warunkowa odpowiedź brzmi: tak, jeśli znane zapytanie nadal zwraca oczekiwane wyniki w granicach akceptowalnych dla domowników, a nowe zasoby nadal są przetwarzane. Odpowiedź dotycząca aktualności staje się negatywna, gdy indeksowanie przestaje postępować, nawet jeśli stare wyszukiwania działają. Z drugiej strony sama rosnąca kolejka nie dowodzi jeszcze, że usługa interaktywna stała się niedostępna.

Więcej pracy importowej może zużywać zasoby potrzebne do obsługi interaktywnej

Przesyłanie plików, generowanie pochodnych wersji, operacje na bazie danych i wnioskowanie wykorzystują częściowo te same zasoby. Zwiększanie współbieżności zadań w tle może przyspieszać realizację zadań do chwili nasycenia współdzielonej zależności; po jej przekroczeniu dodatkowe oczekiwanie może pogorszyć obsługę żądań interaktywnych. Na tym samym hoście wyższe tempo importu i wolniejsze wyszukiwanie mogą więc występować jednocześnie.

W raporcie dotyczącym konkretnej wersji narzędzia importującego opisano, że w immich-go 0.28.0 i Immich 2.3.1 elementy sterujące wstrzymaniem zadań nie obejmowały każdej aktywnej kolejki. Autor raportu nie wykazał, że spowodowało to zaobserwowane błędy połączenia. Wniosek jest węższy: etykieta elementu sterującego nie dowodzi, że cała praca w tle została faktycznie wstrzymana.

Ograniczenie ilości pracy wykonywanej w tle podczas korzystania z systemu przez rodzinę zamienia krótszy czas realizacji na potencjalnie większy zapas zasobów dla obsługi interaktywnej; nie tworzy jednak dodatkowej mocy. Po wprowadzeniu obsługiwanej zmiany obserwuj aktywne kolejki i czasy widoczne dla użytkowników. Jeśli wyszukiwanie nadal działa wolno, gdy kolejki są bezczynne, zbadaj pozostałą ścieżkę zapytania zamiast przypisywać każde opóźnienie współbieżności importu.

Akceleracja ML nie chroni każdej zależności

Przeniesienie wnioskowania do akceleratora lub na inny host zmienia granicę jednej usługi. Nie przyspiesza automatycznie PostgreSQL, odczytu oryginalnych plików, generowania miniatur ani renderowania po stronie klienta. Szybki etap uczenia maszynowego może współistnieć z przeciążoną bazą danych lub pulą pamięci masowej, a zdalna usługa wprowadza własną zależność od sieci i dostępności.

W raporcie dotyczącym zasobów OCR dla Immich 2.2.0 opisano szybkie przetwarzanie twarzy i inteligentnego wyszukiwania, ale znacznie większe obciążenie OCR przy określonym modelu i środowisku. To historyczny przypadek, a nie obecna uniwersalna wada. Pokazuje, dlaczego szybkość lub zapotrzebowanie na pamięć jednego zadania ML nie może służyć jako miara każdego włączonego zadania.

Twierdzenie o dostępności przestaje być prawdziwe, gdy wymagane usługi uruchamiają się ponownie z powodu presji na pamięć, zapytania przekraczają limit czasu, kończy się zapisywalne miejsce w pamięci masowej albo nie można dotrzeć do niezbędnej ścieżki sieciowej. Samo szybsze wnioskowanie nie rozwiąże tych problemów. Oddziel także kwestię prywatności: lokalne przetwarzanie nie zrekompensuje zbyt szerokich uprawnień kont, publicznie dostępnych punktów końcowych ani niewłaściwej obsługi kopii zapasowych.

Określ, co oznacza użyteczność dla Twojego gospodarstwa domowego

Wybierz niewielki zestaw starych zapytań o znanych wynikach oraz próbkę nowego importu z rozpoznawalnymi obiektami. Zapisz czasy ukończenia zapytań, błędy i opóźnienie do chwili, gdy próbka stanie się dostępna w wyszukiwaniu za pomocą wybranej funkcji. Powtórz test w spokojnym okresie i podczas typowego importu, nie zmieniając konta, klienta ani trasy sieciowej.

Samodzielne utrzymywanie usług przenosi odpowiedzialność za działanie systemu w domu na właściciela serwera, w tym decyzje dotyczące dostępności usług, dostępu i kopii zapasowych. To rozróżnienie ma znaczenie przy definiowaniu użytecznego wyszukiwania: sporadyczne opóźnienie indeksowania może być akceptowalne, ale utrata dostępu podczas każdego nocnego importu już niekoniecznie. Porównanie z chmurą daje kontekst odpowiedzialności, a nie gwarancję wydajności Immich.

Ustal osobne limity akceptowalnego opóźnienia dla istniejącego wyszukiwania i gotowości nowych zdjęć, a następnie obserwuj, czy zaległości zmniejszają się po zakończeniu przesyłania. Spełnienie obu warunków potwierdza możliwość dalszego użytkowania wyłącznie przy przetestowanym obciążeniu. Jeśli któryś warunek nie jest spełniony, kolejną decyzją powinno być ustalenie, która zależność lub nakładanie się harmonogramów narusza ten limit — a nie założenie, że każda duża biblioteka wymaga takiego samego sprzętu.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.