Zgłoś błąd
X
Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.
Błędy w spisie treści artykułu zgłaszaj jako "błąd w TREŚCI".
Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
.
Załóż konto
EnglishDeutschукраїнськийFrançaisEspañol中国

Wykorzystanie pamięci podręcznej w serwerach NAS na przykładzie serwera QNAP TS-464 i dysków WD RED

Kamil Śmieszek | 02-04-2023 12:00 |

Wykorzystanie pamięci podręcznej w serwerach NAS na przykładzie serwera QNAP TS-464 i dysków WD REDCache. Pamięć podręczna. Jestem pewien, że wielu z was spotkało się z którymś z tych określeń jeśli nie z jednym i drugim jednocześnie. Pojęcia te są z pewnością nieobce, jeśli czytujecie nasze publikacje dotyczące procesorów, gdzie ten konkretny rodzaj pamięci odgrywał i odgrywa nadal bardzo dużą rolę w kontekście wydajności. Nie bez powodu, bowiem jednym ze sposobów na usprawnienie szybkości odczytu/zapisu danych może być włączenie do działania właśnie pamięci cache. Taka też idea stoi za konceptem wykorzystania tego rodzaju pamięci w serwerach NAS. Urządzenia te zorientowane są w końcu nie tylko na przechowywanie danych, ale także na ich transfer, więc dodatkowych megabajtów na sekundę nigdy za wiele. W dzisiejszej publikacji postaram się opisać, o co chodzi z wykorzystaniem pamięci podręcznej w serwerach NAS, co się z tym wiąże, jakie są wady i zalety, a także pokazać realne skutki działania cache w praktyce. Obiektem pełniącym rolę królika doświadczalnego będzie NAS QNAP TS-464.

Autor: Kamil Śmieszek

Cache to najczęściej jakiś rodzaj, najczęściej szybkiej, pamięci wykorzystywanej do zwiększania szybkości transferu danych. Określenie „szybka pamięć” jest tu mocno względne, bowiem wszystko zależy, co konkretnie cache będzie miała za zadanie przyspieszyć. W przypadku procesora do cache trafiają na przykład instrukcje/dane z pamięci RAM po to, by CPU mógł uzyskać do nich natychmiastowy dostęp. Ma to bardzo duży sens, gdyż odczyt z pamięci RAM trwa znacznie dłużej. Za pamięć cache uważać można nie tylko rozwiązania sprzętowe, ale też i te w postaci oprogramowania. Doskonałym tego przykładem może być pamięć podręczna przeglądarki – sposób działania inny, ale zasada bardzo podobna. Jeśli skrypty JavaScript czy style CSS są dostępne w cache i nie wygasły (pomijam inne warunki sterowania tym mechanizmem), przeglądarka nie pobiera ich z serwera, tylko sięga właśnie do pamięci podręcznej, dzięki czemu strona z reguły zostanie wyświetlona szybciej. Ale wróćmy do hardware i odpowiedzmy sobie na pytanie – do czego służy pamięć cache w serwerze NAS? Przy czym mowa tu nie o, wspomnianym wcześniej, procesorowym wariancie, ale o cache wspomagającej transfer danych z/do serwera NAS poprzez zwiększenie jego możliwości w zakresie liczby obsługiwanych operacji na sekundę. Cache może w tym wypadku przyjąć kilka postaci, o czym za chwilę, jednak cel jest jeden – często wykorzystywane dane lądują w cache i dopiero stamtąd są zapisywane lub odczytywane na właściwą macierz dyskową.

Zasada wykorzystania pamięci cache w serwerach NAS jest bardzo podobna do tej pamięci podręcznej, jaką znamy z procesorów czy rozwiązań software’owych. Często wykorzystywane dane są buforowane, by zapewnić do nich możliwie najszybszy dostęp.

Wykorzystanie pamięci podręcznej w serwerach NAS na przykładzie serwera QNAP TS-464 i dysków WD RED [1]

W zależności od implementacji przez konkretnego producenta, pamięć podręczna serwera NAS może występować w kilku typach:

  • do odczytu – przy każdej operacji dostępu do danych system kopiuje dane do pamięci podręcznej, aby zwiększyć wydajność odczytu;
  • do zapisu – dane przychodzące są najpierw zapisywane w pamięci podręcznej w celu przyspieszenia operacji zapisu, a później kopiowane na główną macierz dyskową serwera. Dopóki dane znajdują się w pamięci podręcznej, zwiększona jest również wydajność ich odczytu;
  • do zapisu/odczytu – system używa pamięci podręcznej SSD do buforowania zarówno operacji odczytu, jak i operacji zapisu, co powoduje przyspieszenie obu rodzajów operacji.

To, który konkretnie tryb sprawdzi się najlepiej zależeć będzie zarówno od konfiguracji sprzętowej naszego serwera NAS, jak i od jego zastosowań. Jeśli służy on za magazyn danych, które rzadko ulegają modyfikacji, a zdecydowanie częściej są wyłącznie odczytywane, najlepszym (i najmniej wymagającym sprzętowo) będzie tryb cache do odczytu. Odwrotna sytuacja (częsty zapis, sporadyczny odczyt), implikuje wykorzystanie trybu do zapisu. Nie będzie zaskoczeniem chyba, jeśli powiem, że w przypadku mieszanych zastosowań optymalnym będzie tryb zapisu/odczytu.

Wykorzystanie pamięci podręcznej w serwerach NAS na przykładzie serwera QNAP TS-464 i dysków WD RED [15]

Celowo do tej pory nie wspomniałem, jak ta pamięć cache wygląda od kuchni, czyli od strony samego sprzętu, gdyż chciałem nakreślić najpierw ogólny zarys „z czym to się je”. Serwery NAS w ramach pamięci cache korzystają z dysków SSD różnego rodzaju. Spokojnie do tego celu nadadzą się zwykłe dyski SSD SATA. Wadą tego rozwiązania jest jednak fakt, że klasyczne SSD zajmują cenne kieszenie dyskowe, które normalnie mogłyby być wykorzystane w celu zwiększenia rozmiaru głównej macierzy do składowania danych. Optymalnie jest więc przeznaczyć na pamięć podręczną nośniki PCIe NVMe. Nie dość bowiem, że montuje się je z reguły na płycie głównej serwera NAS, to jeszcze są zdecydowanie szybsze.

Wykorzystanie pamięci podręcznej w serwerach NAS na przykładzie serwera QNAP TS-464 i dysków WD RED [14]

Musimy jednak pamiętać o kilku ważnych sprawach. Jeśli zdecydujemy się wykorzystać tryb cache do zapisu lub zapisu/odczytu powinniśmy dysponować przynajmniej dwoma dyskami, które złączone w macierz RAID 1 lub 10 zapobiegną potencjalnej utracie danych w przypadku awarii. Jest to dość logiczne – jeśli dane wylądują w cache zanim zostaną zapisane na głównych dyskach i w międzyczasie na przykład wyłączą nam prąd (a nie dysponujemy zasilaczem awaryjnym), to ta niezapisana część zostanie utracona. To z kolei zwiększa (przynajmniej podwójnie, w zależności od możliwości serwera i liczby dysków) oczywiście koszt całego rozwiązania. Inna wada wykorzystania pamięci cache w NASie związana jest tym, że nie każde operacje da się efektywnie przyspieszyć. Dla przykładu, sekwencyjne operacje na dużych plikach nie zyskają znacząco na szybkości. Więcej o przykładach i zastosowaniach cache później, a teraz pora na przedstawienie naszego obiektu badawczego – serwera QNAP TS-464.

Bądź na bieżąco - obserwuj PurePC.pl na Google News
Zgłoś błąd
Kamil Śmieszek
Liczba komentarzy: 19

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.