Jak zmniejszyć rywalizację o bazę danych Plex na obciążonym hoście Dockera

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.

Ogranicz konkurencję o bazę danych Plex, chroniąc operacje wejścia/wyjścia danych aplikacji przed konkurencyjnymi zapisami i utrzymując bazę danych jako prywatny stan Plex, a nie współdzieloną usługę.

Czy nawigacja po Plex lub obsługa biblioteki zwalnia, gdy inny kontener rozpoczyna tworzenie kopii zapasowej, indeksowanie, pobieranie lub operacje na bazie danych? Zanim zmienisz ustawienia wewnętrzne Plex, zmierz opóźnienie dysku z danymi aplikacji podczas nakładania się tych obciążeń. Plex używa własnych plików bazy danych w katalogu danych serwera; praktycznymi elementami optymalizacji na hoście Docker są zwykle izolacja pamięci masowej, harmonogramowanie obciążeń i utrzymanie wolnego miejsca, a nie zwiększanie puli połączeń z bazą danych.

Potwierdź, że spowolnienie wynika z operacji wejścia/wyjścia danych aplikacji

Operacje na bibliotece Plex zależą od lokalnej bazy danych i ścieżki metadanych, dlatego intensywnie zapisująca usługa sąsiednia może spowolnić działanie aplikacji, nawet gdy dostępne są zasoby procesora i sieci. Pierwszym pytaniem jest to, czy objaw pokrywa się ze wzrostem opóźnienia dysku urządzenia przechowującego dane aplikacji.

Bez jawnie skonfigurowanych limitów zasobów kontenera sąsiednia usługa może w tym samym okresie szczytowego obciążenia zużywać procesor, pamięć lub zasoby wejścia/wyjścia pamięci masowej i wpływać na działanie Plex; to punkt wyjścia do oceny konkurencji o bazę danych Plex.

Jeśli Plex odzyskuje responsywność natychmiast po zatrzymaniu konkurencyjnego obciążenia zapisami, a te same materiały są zwykle odtwarzane bezpośrednio, dowody wskazują na konkurencję o współdzieloną pamięć masową, a nie na problem z klientem lub transkodowaniem.

Oddziel ścieżkę bazy danych od masowych zapisów

Umieść dane aplikacji Plex na trwałej ścieżce o niskim opóźnieniu i sprawdź, które inne kontenery współdzielą to urządzenie. Powtórz nakładające się obciążenie, obserwując czas oczekiwania dysku lub opóźnienie, a nie tylko całkowitą przepustowość.

Podczas pomiaru konkurencji o bazę danych Plex Plex przechowuje często używany stan biblioteki w bazie danych SQLite, dlatego opóźnienie i integralność bazy danych należy oceniać oddzielnie od masowej przepustowości multimediów.

Baza danych Plex powinna pozostać prywatna dla instancji Plex. Nie udostępniaj jej jako usługi bazodanowej innym kontenerom ani nie uruchamiaj wielu instancji Plex korzystających z tych samych aktywnych plików bazy danych.

Najpierw dostosuj hosta, zanim zaczniesz ingerować w bazę danych

Jeśli baza danych jest sprawna, zacznij od zmian dotyczących pamięci masowej i harmonogramowania. Optymalizacja bazy danych może w niektórych przypadkach pomóc w przypadku pofragmentowanego stanu serwera, ale nie naprawi urządzenia przeciążonego niezależnymi zapisami.

Utrzymuj wolne miejsce na woluminie danych aplikacji i unikaj systemów plików sieciowych dla aktywnego stanu bazy danych, jeśli dostępna jest niezawodna lokalna pamięć masowa. Szybki udział sieciowy nadal może charakteryzować się opóźnieniami i rozłączeniami niekorzystnymi dla stanu aplikacji.

Po wprowadzeniu zmiany ponownie przetestuj to samo nakładające się obciążenie i raz zrestartuj kontener Plex. Rozwiązanie można uznać za skuteczne, gdy nawigacja, skanowanie i aktualizacje stanu pozostają stabilne podczas działania sąsiedniego obciążenia na oczekiwanym poziomie.

-15% OFF

Rozdziel obciążenia, gdy konkurencja pozostaje powtarzalna

Przestań dostrajać ustawienia Plex, gdy to samo fizyczne urządzenie pamięci masowej nie jest w stanie jednocześnie obsłużyć obu obciążeń. Dalsza optymalizacja aplikacji nie zapewni przepustowości wejścia/wyjścia, której nie ma warstwa pamięci masowej.

Stos multimedialny z akceleracją sprzętową łatwiej ocenić, gdy role procesora, danych aplikacji, pamięci masowej multimediów i sieci są opisane oddzielnie.

Przenieś konfliktującą aplikację, dane aplikacji Plex lub intensywnie zapisujące obciążenie na oddzielne urządzenie, jeśli powtarzalna konkurencja nadal występuje. Naprawę bazy danych podejmuj dopiero wtedy, gdy istnieją dowody problemów z integralnością lub uszkodzenia, a nie tylko dlatego, że serwer działa wolno.

  1. Zmierz opóźnienie dysku danych aplikacji podczas konfliktowego obciążenia
  2. Oddziel kontenery intensywnie zapisujące dane lub zaplanuj ich działanie
  3. Utrzymuj bazę danych Plex jako prywatną dla jednej aktywnej instancji serwera
  4. Powtórz test po ponownym uruchomieniu kontenera

Wsparcie i wskazówki

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.