PowerScale OneFS: Feilsøke ytelsesproblemer
Summary: Feilsøk treg ytelse på PowerScale OneFS med den omfattende veiledningen vår om nettverkskonfigurasjon, behandling av belastninger og overvåking med InsightIQ for forbedret klyngeeffektivitet. ...
Symptoms
Klientdatamaskiner utfø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. Denne artikkelen beskriver flere effektive måter å feilsøke ytelsesproblemer på.
Resolution
Feilsøking med InsightIQ-innholdsfortegnelsen
:
- Bruke Isilon InsightIQ
- Feilsøking uten InsightIQ
- Nettverksgjennomstrømning
- Fordeling av klienttilkoblinger
- SmartConnect
- 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 brukerveiledningen for InsightIQ.
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 for å fastslå gjennomstrømningsegenskapene til klynge- og klientdatamaskinene på nettverket.
Bruke 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
- Klient:
iperf -c <cluster IP> -w 262144
Fordeling av klienttilkoblinger
Kontroller hvor mange NFS- og SMB-klienter som er koblet til klyngen, for å sikre at de ikke favoriserer én node.
- Åpne en SSH-tilkobling på en node i klyngen, og logg på med "root"-kontoen.
- Kjør følgende kommando for å sjekke NFS-klienter:
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs
Utdataene viser antall klienter som er koblet til per node, og hvor mange av disse klientene som er aktive på hver node. - Kjør følgende kommando for å kontrollere SMB-klienter:
isi statistics query - nodes=all --stats=node.clientstats.connected.smb, node.clientstats.active.smb1,node.clientstats.active.smb2
Utdataene viser antall klienter som er koblet til per node, og hvor mange av disse klientene som er aktive på hver node.
SmartConnect
Kontroller at noden som SmartConnect kjører på, ikke er belastet med nettverkstrafikk.
- Åpne en SSH-tilkobling på en node i klyngen, og logg på med "root"-kontoen.
- Kjør følgende kommando:
isi_for_array -sq 'ifconfig|grep em -A3'
Utdataene viser en liste over alle IP-adressene som er bundet til det eksterne grensesnittet. - Se etter noder som har én ekstra IP-adresse enn resten.
- Kontroller statusen til nodene du la merke til i trinn 3, ved å kjøre følgende kommando:
isi status
Kontroller gjennomstrømningskolonnen for utdataene for å bestemme belastningen til nodene som ble lagt merke til i trinn 3.
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.
Skrivetest
- Åpne en SSH-tilkobling på en node i klyngen, og logg på med "root"-kontoen.
- Endre til /ifs-katalogen :
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 følgende kommando, der
pathToFileer filbanen til målfilen:cat /dev/zero > /pathToFile
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 .
Lesetest
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å en node i klyngen, og logg på med "root"-kontoen.
- Fra CLI-modulen på klyngen eller fra en UNIX- eller Linux-klientdatamaskin bruker du
ddkommando for å lese en fil på klyngen. Kjør følgende kommando derpathToFileer filbanen til målfilen:dd if=/pathToLargeFile of=/dev/null bs=1024k
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 følgende kommando der
pathToFileer filbanen til målfilen:time cp /pathToLargeFile > /dev/null
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
Før du undersøker input / output (I / O) operasjoner (IOPS) av klyngen:
- Bestem hvilke jobber som kjører på klyngen. Hvis stripejobber som Autobalanse, Samle eller Multiskanning kjører, bør du vurdere hvorfor disse jobbene kjører, og om de bør fortsette å kjøre.
- 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 betydelig og kan være en levedyktig kortsiktig løsning på et ytelsesproblem.
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 node i klyngen, og logg på med "root"-kontoen.
- Kjør følgende kommando for å fastslå I/O-disk:
isi 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 node i klyngen, og logg på med "root"-kontoen.
- Kjør følgende kommando for å fastslå IOPS-disk etter node, som kan bidra til å oppdage disker som er overutnyttet:
isi statistics query --nodes=all --stats=node.disk.xfers.rate.sum --top
- Kjør følgende kommando for å finne ut hvordan du spør etter statistikk per disk:
isi statistics describe --stats=all | grep disk
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å 4 indikere et problem, mens for NFS-navneområdeoperasjoner med høy samtidighet er køen større.
- Åpne en SSH-tilkobling på en node i klyngen, og logg på med "root"-kontoen.
- Kjør følgende kommando for å finne ut hvor mange operasjoner som skal legges i kø for hver disk i klyngen:
isi_for_array -s sysctl hw.iosched | grep total_inqueue
- Fastslå ventetiden som forårsakes av køoperasjonene:
sysctl -aN hw.iosched|grep bios_inqueue|xargs sysctl -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å en node i klyngen, og logg på med "root"-kontoen.
- Kjør følgende kommando for å finne ut hvilke operasjoner som utføres på tvers av nettverket, og vurder hvilke av disse operasjonene som tar mest tid:
isi statistics protocol --orderby=TimeAvg --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 følgende kommando for å få mer informasjon om CPU-behandling, for eksempel hvilke noders CPUer som er mest brukt:
isi statistics system --top
- Kjør følgende kommando for å hente de fire prosessene på hver node som bruker mest CPU-ressurser:
isi_for_array -sq 'top -d1|grep PID -A4'
Additional Information
Her er anbefalte ressurser relatert til dette emnet som kan være av interesse: