PowerScale OneFS: Rozwiązywanie problemów z wydajnością
Summary: Rozwiąż problem z niską wydajnością systemu PowerScale OneFS dzięki naszemu kompleksowemu przewodnikowi na temat konfiguracji sieci, obciążeń przetwarzania i monitorowania za pomocą InsightIQ, aby zwiększyć efektywność klastra. ...
Symptoms
Komputery klienckie działają powoli. Określone zadania, szczególnie te uruchomione w klastrze, kończą się niepowodzeniem lub trwają dłużej niż oczekiwano.
Cause
Problemy z wydajnością są zazwyczaj spowodowane ruchem w sieci, konfiguracją sieci, obciążeniem przetwarzania klienta lub klastra lub kombinacją powyższych. W tym artykule opisano kilka skutecznych sposobów rozwiązywania problemów z wydajnością.
Resolution
Rozwiązywanie problemów z InsightIQ
— spis treści:
- Korzystanie z Isilon InsightIQ
- Rozwiązywanie problemów bez InsightIQ
- Przepływność sieci
- Dystrybucja połączeń klienckich
- SmartConnect
- Przepływność klastra
- Przetwarzanie klastrów
- Operacje w kolejce
- Procesor
Korzystanie z Isilon InsightIQ
Korzystanie z Isilon InsightIQ to najlepszy sposób monitorowania i rozwiązywania problemów z wydajnością.
Urządzenie wirtualne Isilon InsightIQ umożliwia monitorowanie i analizowanie aktywności klastra Isilon za pomocą elastycznych, konfigurowalnych widoków wykresów w aplikacji internetowej InsightIQ. Te wykresy zawierają szczegółowe informacje na temat sprzętu klastra, oprogramowania oraz operacji systemu plików i protokołu. InsightIQ przekształca dane w informacje wizualne, które kładą nacisk na wszelkie czynniki odstające w przypadku wydajności, umożliwiając szybką diagnostykę wąskich gardeł lub optymalizację przepływów pracy.
Szczegółowe informacje na temat korzystania z InsightIQ można znaleźć w podręczniku użytkownika InsightIQ.
Rozwiązywanie problemów bez InsightIQ
Jeśli nie korzystasz z InsightIQ, możesz uruchomić różne polecenia w celu zbadania problemów z wydajnością. Rozwiązywanie problemów z wydajnością najpierw przez zbadanie przepływności sieci i klastra, następnie przetwarzania klastra, a na końcu szybkości procesora poszczególnych węzłów.
Przepływność sieci
Użyj narzędzia do testowania sieci, takiego jak Iperf , aby określić możliwości przepływności klastra i komputerów klienckich w sieci.
Za pomocą Iperf, uruchom następujące polecenia w klastrze i kliencie. Te polecenia definiują rozmiar okna, które jest wystarczająco duże, aby ujawnić, czy łącze sieciowe jest potencjalną przyczyną problemów z opóźnieniami.
- Klastra:
iperf -s -w 262144
- Klient:
iperf -c <cluster IP> -w 262144
Dystrybucja połączeń klienckich
Sprawdź liczbę klientów NFS i SMB podłączonych do klastra, aby upewnić się, że nie preferują jednego węzła.
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- Uruchom następujące polecenie, aby sprawdzić klienty NFS:
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs
Dane wyjściowe zawierają liczbę klientów podłączonych do węzła oraz liczbę aktywnych klientów w każdym węźle. - Uruchom następujące polecenie, aby sprawdzić klienty SMB:
isi statistics query - nodes=all --stats=node.clientstats.connected.smb, node.clientstats.active.smb1,node.clientstats.active.smb2
Dane wyjściowe zawierają liczbę klientów podłączonych do węzła oraz liczbę aktywnych klientów w każdym węźle.
SmartConnect
Sprawdź, czy węzeł, na którym działa SmartConnect, nie jest obciążony ruchem w sieci.
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- Uruchom następujące polecenie:
isi_for_array -sq 'ifconfig|grep em -A3'
Dane wyjściowe wyświetlają listę wszystkich adresów IP, które są powiązane z interfejsem zewnętrznym. - Sprawdź węzły, które mają jeden dodatkowy adres IP niż reszta.
- Sprawdź stan węzłów zauważonych w kroku 3, uruchamiając następujące polecenie:
isi status
Sprawdź kolumnę przepływności danych wyjściowych, aby określić obciążenie węzłów zauważone w kroku 3.
Przepływność klastra
Oceń przepływność klastra poprzez przeprowadzenie testów zapisu i odczytu, które mierzą czas potrzebny na odczyt i zapis do pliku. Wykonaj co najmniej jeden test zapisu i jeden test odczytu, zgodnie z poniższymi instrukcjami.
Test zapisu
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- Zmień na katalog /ifs :
cd /ifs
- W interfejsie wiersza poleceń (CLI) w klastrze lub na komputerze klienckim UNIX lub Linux użyj klawisza
ddpolecenia zapisu nowego pliku do klastra. Uruchom następujące polecenie:dd if=/dev/zero of=1GBfile bs=1024k count=1024
To polecenie tworzy przykładowy plik o rozmiarze 1 GB i zgłasza czas potrzebny do zapisania go na dysku. - Z danych wyjściowych tego polecenia należy oszacować liczbę MB na sekundę, które można zapisać na dysku w jednostrumieniowych przepływach pracy.
- Jeśli masz klienta MAC i chcesz przeprowadzić dalszą analizę,
- Uruchom monitor aktywności.
- Uruchom poniższe polecenie, w którym
pathToFileto ścieżka pliku docelowego:cat /dev/zero > /pathToFile
To polecenie pomaga mierzyć przepływność operacji zapisu w klastrze Isilon. (Chociaż możliwe jest uruchomienieddpolecenia z klienta MAC, wyniki mogą być niespójne). - Monitorowanie wyników polecenia na karcie Sieć monitora aktywności.
Test odczytu
Podczas mierzenia przepływności operacji odczytu należy pamiętać, aby nie przeprowadzać testów odczytu pliku utworzonego podczas testu zapisu. Ponieważ ten plik został zapisany w pamięci podręcznej, wyniki testów odczytu będą niedokładne. Zamiast tego przetestuj operację odczytu pliku, który nie został zapisany w pamięci podręcznej. Znajdź plik w klastrze większym niż 1 GB i sprawdź ten plik w teście odczytu.
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- W interfejsie wiersza poleceń w klastrze lub na komputerze klienckim UNIX lub Linux użyj
ddpolecenia odczytu pliku w klastrze. Uruchom poniższe polecenie, w którympathToFileto ścieżka pliku docelowego:dd if=/pathToLargeFile of=/dev/null bs=1024k
To polecenie odczytuje plik docelowy i zgłasza czas potrzebny do jego odczytania. - Jeśli masz klienta MAC i chcesz przeprowadzić dalszą analizę,
- Uruchom monitor aktywności.
- Uruchom poniższe polecenie, w którym
pathToFileto ścieżka pliku docelowego:time cp /pathToLargeFile > /dev/null
To polecenie pomaga mierzyć przepływność operacji odczytu w klastrze Isilon. (Chociaż możliwe jest uruchomienieddpolecenia z klienta MAC, wyniki mogą być niespójne). - Monitorowanie wyników polecenia na karcie Sieć monitora aktywności.
Przetwarzanie klastrów
Zadania
ponownego rozłożeniaPrzed zbadaniem operacji wejścia/wyjścia (I/O) (IOPS) klastra:
- Określ, które zadania są uruchomione w klastrze. Jeżeli działają zadania ponownego rozłożenia, takie jak Auto-Balance, Collect lub Multi-Scan, należy zastanowić się, dlaczego działają i czy nadal powinny działać.
- Należy wziąć pod uwagę rodzaj używanych danych. Jeśli komputery klienckie pracują z dużymi plikami wideo lub maszynami wirtualnymi (VM), zadanie ponownego rozłożenia wymaga większej ilości IOPs dysku niż zwykle.
- Rozważ tymczasowe wstrzymanie zadania ponownego rozłożenia. Może to znacznie poprawić wydajność i być opłacalnym krótkoterminowym rozwiązaniem problemu z wydajnością.
Dysk we/wy
Weryfikacja we/wy dysku może pomóc w określeniu, czy niektóre dyski są nadużywane.
Według klastra
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- Uruchom następujące polecenie, aby ustalić we/wy dysku:
isi statistics pstat
- Na podstawie danych wyjściowych tego polecenia podziel IOPs dysku przez łączną liczbę dysków w klastrze. Na przykład w przypadku klastra 8-węzłowego korzystającego z węzłów Isilon IQ 12000x, w którym znajduje się 12 dysków na węzeł, IOPs dysku należy podzielić przez 96.
W przypadku węzłów serii X i węzłów serii NL należy spodziewać się IOPs dysku o wielkości 70 lub mniejszej dla 100% losowych przepływów pracy lub IOPs dysku o wielkości 140 lub mniej dla 100% sekwencyjnych przepływów pracy. Ponieważ węzły serii NL mają mniej pamięci RAM i mniejsze prędkości procesora niż węzły z serii X, węzły z serii X mogą obsługiwać wyższe IOPs dysków.
Według węzła i według dysku
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- Uruchom następujące polecenie, aby ustalić IOPs dysku według węzła, co może pomóc w wykryciu dysków, które są nadmiernie nieużywane:
isi statistics query --nodes=all --stats=node.disk.xfers.rate.sum --top
- Uruchom następujące polecenie, aby określić, w jaki sposób wysyłać zapytanie o statystyki dla poszczególnych dysków:
isi statistics describe --stats=all | grep disk
Operacje w kolejce
Innym sposobem ustalenia, czy dyski nie są nadmiernie używane, jest określenie liczby operacji w kolejce dla każdego dysku w klastrze. W przypadku jednostrumieniowego przepływu pracy opartego na SMB kolejka 4 może wskazywać na problem, podczas gdy w przypadku operacji w przestrzeni nazw NFS o wysokiej współbieżności kolejka jest większa.
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- Uruchom następujące polecenie, aby określić liczbę operacji w kolejce dla każdego dysku w klastrze:
isi_for_array -s sysctl hw.iosched | grep total_inqueue
- Określ opóźnienie spowodowane operacjami kolejki:
sysctl -aN hw.iosched|grep bios_inqueue|xargs sysctl -D
Procesor
Problemy z procesorem są często śledzone do operacji wykonywanych przez klienty w klastrze. Korzystając z polecenia isi statistics można określić operacje wykonywane w klastrze, skatalogowane według protokołu sieciowego lub komputera klienckiego.
- Otwórz połączenie SSH na dowolnym węźle w klastrze i zaloguj się przy użyciu konta root.
- Uruchom następujące polecenie, aby określić, które operacje są wykonywane w sieci i ocenić, które z tych operacji trwa najczęściej:
isi statistics protocol --orderby=TimeAvg --top
Dane wyjściowe polecenia zawierają szczegółowe statystyki dla wszystkich protokołów sieciowych, uporządkowane według czasu potrzebnego klastrowi na odpowiedź klientom. Wyniki tego polecenia mogą nie określać, która operacja jest najwolniejsza, ale mogą wskazać użytkownikowi odpowiedni kierunek. - Uruchom następujące polecenie, aby uzyskać więcej informacji na temat przetwarzania procesora, na przykład które procesory węzłów są najczęściej używane:
isi statistics system --top
- Uruchom następujące polecenie, aby uzyskać cztery procesy w każdym węźle, które zużywają najwięcej zasobów procesora:
isi_for_array -sq 'top -d1|grep PID -A4'
Additional Information
Poniżej przedstawiono zalecane zasoby związane z tym tematem, które mogą Cię zainteresować: