Ciepła pamięć podręczna zmienia sposób obsługi powtarzających się żądań Plex, ponieważ dane, których pobranie za pierwszym razem było kosztowne, mogą być już dostępne w szybszej pamięci lub lokalnej pamięci podręcznej.
To szybsze drugie żądanie odzwierciedla przydatne zachowanie produkcyjne, ale może wprowadzać w błąd podczas testowania wydajności i możliwości sprzętu. Plakat, obiekt metadanych, strona systemu plików lub niedawno odczytany plik mogą zostać zwrócone szybko bez przechodzenia tą samą ścieżką pamięci masowej co pierwsze żądanie. Przydatne porównanie powinno uwzględniać stan pamięci podręcznej, rozmiar zestawu roboczego i presję na pamięć, aby powtarzalnie wysoka prędkość nie została pomylona z nieograniczonym zapasem wydajności serwera.
Pierwsze żądanie może pobierać dane z wolniejszej pamięci masowej
Pierwszy dostęp może wymagać od systemu operacyjnego lub aplikacji odczytania danych z dysku SSD, HDD albo systemu plików zamontowanego przez sieć. Ta ścieżka obejmuje opóźnienie urządzenia, operacje systemu plików i ewentualne wyszukiwanie metadanych, zanim żądane bajty zostaną dostarczone do Plex lub klienta.
Linux zwykle wykorzystuje nieużywaną pamięć do buforowania danych plików, dlatego pierwszy odczyt może wypełnić pamięć podręczną stron. Późniejsze odczyty mogą pomijać część fizycznych operacji wejścia-wyjścia, o ile potrzebne strony pozostają w pamięci, a aplikacja celowo nie omija pamięci podręcznej.
Aby przeprowadzić uczciwy test, zapisz, które żądanie rzeczywiście jest pierwsze po tym, jak dane nie były używane przez dłuższy czas. Nie zakładaj, że ponowne uruchomienie serwera jest jedynym sposobem na uzyskanie chłodniejszego stanu, i nie wymuszaj usuwania pamięci podręcznej w systemie produkcyjnym tylko po to, by uzyskać syntetyczny wynik testu.
Powtarzające się żądania mogą korzystać z pamięci RAM lub pamięci podręcznej aplikacji
Po zażądaniu tych samych danych kilka warstw może odpowiedzieć szybciej. System operacyjny może zachować strony plików, klient może lokalnie przechowywać grafiki i dane interfejsu, a aplikacja może ponownie wykorzystać wygenerowane lub przekształcone obiekty zamiast tworzyć je od nowa przy każdym żądaniu.
Powtarzające się odczyty to jeden z najbardziej oczywistych przykładów sytuacji, w której buforowane strony ukrywają opóźnienie pamięci masowej. Nie oznacza to, że pomiar jest nieważny; oznacza jedynie, że wynik opisuje rozgrzany zestaw roboczy, a nie wydajność urządzenia zaplecza bez wykorzystania pamięci podręcznej.
W przypadku Plex zachowanie pamięci podręcznej może być widoczne również przy wygenerowanych obrazach. Powtarzające się żądanie obrazu może ponownie wykorzystać wcześniej utworzony plik pamięci podręcznej, co konkretnie pokazuje, dlaczego powtarzające się operacje interfejsu mogą przebiegać inną ścieżką niż pierwsze żądanie.
Ciepła pamięć podręczna bardziej pomaga metadanym niż każdemu odczytowi multimediów
Przeglądanie biblioteki wymaga dostępu do wielu małych obiektów metadanych i grafik, dlatego przechowywanie często używanych danych blisko pamięci może wyraźnie zmienić szybkość reakcji interfejsu. Długi, sekwencyjny strumień filmu może natomiast odczytywać dane, które są używane tylko raz, a następnie zastępowane kolejnymi fragmentami pliku.
Duże biblioteki Plex mogą tworzyć znaczne pamięci podręczne metadanych po stronie klienta, ponieważ grafiki i informacje o bibliotece są wielokrotnie odwiedzane. Pamięci podręczne metadanych mogą rosnąć, nawet gdy same pliki wideo pozostają na serwerze.
To rozróżnienie ma znaczenie przy interpretowaniu stwierdzenia „Plex działa szybciej”. Rozgrzana siatka plakatów nie dowodzi, że pamięć masowa może obsłużyć większą liczbę jednoczesnych strumieni, a buforowany fragment pliku nie dowodzi, że cały film mieści się w pamięci. Przed wyciągnięciem wniosku dotyczącego możliwości sprzętu określ typ żądania.
Usuwanie danych z pamięci podręcznej może ponownie zmienić wydajność
Rozgrzanie pamięci podręcznej jest tymczasowe. Gdy aplikacje potrzebują pamięci, system operacyjny może odzyskać zajmowane przez nią strony, a pamięci podręczne klientów mogą usuwać starsze obiekty, aby zrobić miejsce na nowe. Dlatego żądanie, które godzinę wcześniej było szybkie, może ponownie trafić na wolniejszą ścieżkę bez żadnej awarii sprzętu.
Pamięć podręczna stron została zaprojektowana tak, aby wykorzystywać dostępną pamięć i zwalniać ją, gdy inne zadania potrzebują miejsca. Praktyczne wyjaśnienie odzyskiwania pamięci podręcznej pod presją pamięci pomaga zrozumieć, dlaczego to samo powtarzające się żądanie może zmieniać charakter wraz ze zmianą zestawu roboczego serwera i liczby równolegle działających usług.
Przetestuj to, powtarzając to samo żądanie po spokojnym okresie, a następnie ponownie podczas działania zadań intensywnie wykorzystujących pamięć. Jeśli opóźnienie rośnie tylko wtedy, gdy użyteczny zestaw roboczy zostaje wyparty z pamięci, wynik wskazuje na rezydentność pamięci podręcznej i presję na pamięć, a nie na nagłe spowolnienie dysku.
Oddziel szybkość przy ciepłej pamięci podręcznej od trwałej wydajności
Testowanie możliwości sprzętu powinno obejmować co najmniej pierwszy lub chłodniejszy dostęp, powtórzony dostęp z rozgrzaną pamięcią podręczną oraz obciążenie utrzymywane przez dłuższy czas, większe niż użyteczna pamięć podręczna. Celem nie jest wyeliminowanie buforowania, lecz zrozumienie, która warstwa odpowiadała za każdy wynik i czy zasoby zaplecza nadal mają zapas, gdy ponowne wykorzystanie danych przestaje pomagać.
Wynik uzyskany przy rozgrzanej pamięci podręcznej jest miarodajny, gdy rzeczywiste obciążenie produkcyjne faktycznie ponownie wykorzystuje te same dane. Staje się mylący, gdy krótki test zostaje uogólniony na znacznie większą bibliotekę, większą liczbę klientów lub zestaw roboczy, który przestaje mieścić się w pamięci. Traktuj stan pamięci podręcznej jako część warunków testu, podobnie jak klienta, przepływność i współbieżność.
Jeśli decyzja dotyczy konkretnie powtarzających się odczytów z serwera NAS, porównaj pamięć podręczną odczytu SSD z bezpośrednim odczytem z dysku. W przypadku Plex najważniejszy wniosek jest prosty: rozgrzane dane zmieniają opóźnienie, ale dopiero dłuższy test z utrzymywanym obciążeniem pokazuje, co serwer może zapewnić po tym, jak pamięć podręczna przestanie obsługiwać ścieżkę zaplecza.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Czym jest stan Plexa i które jego elementy muszą być zachowane?
Trwały stan Plex to informacje, które zachowują konfigurację serwera po ponownym uruchomieniu i odbudowie; multimedia oraz tymczasowe dane transkodowania pełnią odrębne funkcje.

Jak Plex obsługuje uwierzytelnianie w sesjach lokalnych i zdalnych?
Uwierzytelnianie w Plex rozpoczyna się od tożsamości serwera i konta, a następnie lokalne lub zdalne ścieżki sieciowe określają dostępność oraz sposób nawiązywania bezpiecznego połączenia.

Dlaczego wyszukiwanie w Plex może zwalniać wraz ze wzrostem ilości danych biblioteki?
Sam wzrost biblioteki nie jest diagnozą. Zanim obwinisz rozmiar bazy danych, przetestuj kształt zapytań, indeksy, stan pamięci podręcznej, opóźnienia pamięci masowej i aktywność zapisu.

