PowerScale OneFS: Feilsøke ytelsesproblemer
Summary: Feilsøk treg ytelse på PowerScale OneFS med en omfattende veiledning om nettverkskonfigurasjon, behandling av belastninger og overvåking med InsightIQ for forbedret klyngeeffektivitet.
Symptoms
Klientdatamaskiner kjører sakte. Bestemte jobber, spesielt de som kjører på klyngen, mislykkes eller tar lengre tid enn forventet.
Cause
Ytelsesproblemer skyldes vanligvis nettverkstrafikk, problemer med nettverkskonfigurasjon, klient- eller klyngebehandlingsbelastning eller en kombinasjon av disse faktorene. Denne artikkelen beskriver flere effektive måter å feilsøke ytelsesproblemer på.
Resolution
Feilsøking med InsightIQ
Innholdsfortegnelse:
- Bruke Isilon InsightIQ
- Feilsøking uten InsightIQ
- Nettverksgjennomstrømning
- Fordeling av klienttilkoblinger
- Gjennomstrømning for klynge
- Klyngebehandling
- Operasjoner i kø
- CPU
Bruke Isilon InsightIQ
Bruk av Isilon InsightIQ er den beste måten å overvåke ytelsen og feilsøke ytelsesproblemer på.
Det virtuelle Isilon InsightIQ-apparatet gjør at du kan overvåke og analysere Isilon-klyngeaktivitet gjennom fleksible, tilpassbare diagramvisninger i den webbaserte InsightIQ-applikasjonen. Disse diagrammene gir detaljert informasjon om klyngemaskinvare, programvare og filsystem- og protokolloperasjoner. InsightIQ forvandler data til visuell informasjon som fremhever eventuelle ytelsesavvik, noe som muliggjør rask diagnostisering av flaskehalser eller optimaliserer arbeidsflyter.
Hvis du vil ha mer informasjon om hvordan du bruker InsightIQ, kan du se PowerScale InsightIQ – informasjonshub.
Feilsøking uten InsightIQ
Hvis du ikke bruker InsightIQ, kan du kjøre ulike kommandoer for å undersøke ytelsesproblemer. Feilsøk ytelsesproblemer først ved å undersøke nettverks- og klyngegjennomstrømning, deretter ved å undersøke klyngebehandlingen, og til slutt ved å undersøke individuelle CPU-hastigheter for noder.
Nettverksgjennomstrømning
Bruk et nettverkstestverktøy, for eksempel Iperf eller Iperf3 for å fastslå gjennomstrømningsegenskapene til klynge- og klientdatamaskinene på nettverket.
Bruk av Iperf, kjører du følgende kommandoer på klyngen og klienten. Disse kommandoene definerer en vindusstørrelse som er stor nok til å avsløre om nettverkskoblingen er en potensiell årsak til ventetidproblemer.
- Klynge:
iperf -s -w 262144 - Kunde
iperf -c <cluster IP> -w 262144
Bruk av Iperf3, kjører du følgende kommandoer på klyngen og klienten. Disse kommandoene definerer en vindusstørrelse som er stor nok til å avsløre om nettverkskoblingen er en potensiell årsak til ventetidproblemer.
- Klynge:
iperf3 -s -w 262144 Kundeiperf3 -c <cluster IP> -w 262144
Fordeling av klienttilkoblinger
Kontroller hvor mange klienter for Network File System (NFS) og Server Message Block (SMB) som er koblet til klyngen, for å sikre at de ikke favoriserer én node.
- Åpne en SSH-tilkobling på hvilken som helst node i klyngen, og logg på med rotkontoen.
rootRegnskapsførere - Kjør
kommando for å sjekke NFS-klienter.isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -d
Utdataene viser antall klienter som er koblet til per node, og hvor mange av disse klientene som er aktive på hver node. - Kjør
-kommandoen for å kontrollere SMB-klienter.isi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -d
Utdataene viser antall klienter som er koblet til per node, og hvor mange av disse klientene som er aktive på hver node.
Gjennomstrømning for klynge
Vurder klyngegjennomstrømningen ved å utføre skrive- og lesetester som måler hvor lang tid det tar å lese fra og skrive til en fil. Gjennomfør minst en skrivetest og en lesetest, som følger.
Skriv en test.
- Åpne en SSH-tilkobling på hvilken som helst node i klyngen, og logg på med rotkontoen.
rootRegnskapsførere - Endre til
/ifsKataloger:cd /ifs - Fra kommandolinjegrensesnittet (CLI) på klyngen eller fra en UNIX- eller Linux-klientdatamaskin bruker du
dd-kommandoen for å skrive en ny fil til klyngen.
Kjør følgende kommando:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Denne kommandoen oppretter en 1 GB-eksempelfil og rapporterer hvor lang tid det tok å skrive den til disken. - Fra utdataene fra denne kommandoen ekstrapolerer du hvor mange MB per sekund som kan skrives til disken i enkeltstrømsarbeidsflyter.
- Hvis du har en MAC-klient og ønsker å utføre ytterligere analyse,
- Start Aktivitetsmonitor.
- Kjør
cat /dev/zero > /pathToFilekommando, hvorpathToFileer filbanen til målfilen.
Denne kommandoen hjelper til med å måle gjennomstrømningen til skriveoperasjoner på Isilon-klyngen. (Selv om det er mulig å kjøredd-kommandoen fra en MAC-klient, kan resultatene være inkonsekvente.) - Overvåk resultatene av kommandoen i Aktivitetsmonitorens Nettverk-fane .
Les testen.
Når du måler gjennomstrømningen til leseoperasjoner, må du passe på at du ikke utfører lesetester på filen du opprettet under skrivetesten. Fordi den filen har blitt bufret, vil resultatene av lesetestene være unøyaktige. I stedet tester du en leseoperasjon for en fil som ikke er bufret. Finn en fil på klyngen som er større enn 1 GB, og referer til filen i lesetesten.
- Åpne en SSH-tilkobling på hvilken som helst node i klyngen, og logg på med rotkontoen.
rootRegnskapsførere - Fra CLI-modulen på klyngen eller fra en UNIX- eller Linux-klientdatamaskin bruker du
ddkommando for å lese en fil på klyngen.
Kjørdd if=/pathToLargeFile of=/dev/null bs=1024kKommando hvorpathToFileer filbanen til målfilen.
Denne kommandoen leser målfilen og rapporterer hvor lang tid det tok å lese den. - Hvis du har en MAC-klient og ønsker å utføre ytterligere analyse,
- Start Aktivitetsmonitor.
- Kjør
time cp /pathToLargeFile > /dev/nullKommando hvorpathToFileer filbanen til målfilen.
Denne kommandoen hjelper deg med å måle gjennomstrømningen til leseoperasjoner på Isilon-klyngen. (Selv om det er mulig å kjøredd-kommandoen fra en MAC-klient, kan resultatene være inkonsekvente.) - Overvåk resultatene av kommandoen i Aktivitetsmonitorens Nettverk-fane .
Klyngebehandling
Stripe jobber på nytt.
Før du undersøker input / output (I / O) operasjoner (IOPS) av klyngen:
- Bestem hvilke jobber som kjører på klyngen. Hvis stripejobber som Auto-Balance, FlexProtect, Collect eller MultiScan kjører, bør du vurdere hvorfor disse jobbene kjører, og om de bør fortsette å kjøre.
- Disse jobbene kan produsere klyngehendelse: Hendelse 400100008: «Filoperasjoner tok lengre tid enn forventet.»
- Vurder hvilken type data som forbrukes. Hvis klientdatamaskiner arbeider med store videofiler eller virtuelle maskiner (VM-er), krever den stripede jobben en større mengde disk-IOPS enn normalt.
- Vurder å sette en restripe-jobb midlertidig på pause. Dette kan forbedre ytelsen og kan være en levedyktig kortsiktig løsning på et ytelsesproblem.
SmartPools-jobber.
NFS- og SMB-klientytelsen kan bli dårligere mens jobben kjører:
- Bestem prioriteten til SmartPools-jobben
isi job status
-
- Reduser effekten av retningslinjene
isi job types modify SmartPools --policy LOW
-
- Juster prioritet
isi job types modify SmartPools --priority 7
-
- Planlegge policyen for fritimer
isi job types modify SmartPools --policy OFF_HOURS
-
- Gjennomgå nivåkonfigurasjon, og hold antall nivåer under 5
I/O
for diskUndersøkelse av disk-I/O kan bidra til å avgjøre om enkelte disker brukes for mye.
Etter klynge
- Åpne en SSH-tilkobling på en hvilken som helst node i klyngen, og logg på ved hjelp av «rot-kontoen».
- Kjør
-kommandoen for å fastslå I/O-diskisi statistics pstat Fra utgangen av denne kommandoen, del disken IOPS med totalt antall disker i klyngen. For eksempel, for en 8-nodeklynge som bruker Isilon IQ 12000x-noder, som er vert for 12 stasjoner per node, deler du disk-IOPS med 96.
For noder i X-serien og noder i NL-serien kan du forvente å se IOPS for disk på 70 eller mindre for 100 % tilfeldige arbeidsflyter, eller IOPS for disk på 140 eller mindre for 100 % sekvensielle arbeidsflyter. Fordi noder i NL-serien har mindre RAM og lavere CPU-hastigheter enn noder i X-serien, kan noder i X-serien håndtere IOPS med høyere disk.
Etter node og disk
- Åpne en SSH-tilkobling på en hvilken som helst node i klyngen, og logg på ved hjelp av «rot-kontoen».
- Kjør
-kommando for å finne ut disk IOPS etter node, som kan bidra til å oppdage disker som er overutnyttet.isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=top - Kjør
-kommandoen for å bestemme hvordan du vil spørre etter statistikk per disk.isi_stats_tool -a get_key_info|grep node.disk.xfer
Operasjoner i kø
En annen måte å finne ut om disker brukes for mye, er å finne ut hvor mange operasjoner som skal legges i kø for hver disk i klyngen. For en enkelt SMB-basert arbeidsflyt kan en kø på fire indikere et problem, mens for NFS-navneområdeoperasjoner med høy samtidighet er køen større.
- Åpne en SSH-tilkobling på hvilken som helst node i klyngen, og logg på med rotkontoen.
rootRegnskapsførere - Kjør
-kommandoen for å bestemme hvor mange operasjoner som skal legges i kø for hver disk i klyngen.isi statistics drive list --nodes=all --sort=queued -d - Bestem hvor lenge operasjonen var i køen:
isi statistics drive list --nodes=all --sort=queued -d
CPU
CPU-problemer spores ofte til operasjonene klienter utfører på klyngen. Ved hjelp av isi statistics -kommandoen, kan du bestemme operasjonene som utføres på klyngen, katalogisert av enten nettverksprotokollen eller klientdatamaskinen.
- Åpne en SSH-tilkobling på hvilken som helst node i klyngen, og logg på med rotkontoen.
rootRegnskapsførere - Kjør
-kommandoen for å bestemme hvilke operasjoner som utføres på tvers av nettverket og vurdere hvilke av disse operasjonene som tar mest tid.isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format top
Disse kommandoutdataene gir detaljert statistikk for alle nettverksprotokoller, organisert etter hvor lang tid klyngen bruker på å svare klienter. Selv om resultatene av denne kommandoen kanskje ikke identifiserer hvilken operasjon som er den tregeste, kan den peke deg i riktig retning. - Kjør
-kommandoen for å få mer informasjon om CPU-behandling, for eksempel hvilke noders CPUer som er mest brukt.isi statistics system --nodes all --format top - Kjør
-kommandoen for å hente de fire prosessene på hver node som bruker mest CPU-ressurser.isi_for_array -sX 'top -u -n |grep PID -A4'
Additional Information
Her er anbefalte ressurser relatert til dette emnet som kan være av interesse: