PowerScale OneFS: Suorituskykyongelmien vianmääritys
Summary: Voit tehdä PowerScale OneFS:n hitauden vianmäärityksen kattavan InsightIQ-oppaamme avulla klusterin tehokkuuden parantamiseksi.
Symptoms
Asiakastietokoneiden toiminta on hidasta. Tietyt työt, erityisesti klusterissa suoritettavat työt, joko epäonnistuvat tai kestävät odotettua kauemmin.
Cause
Suorituskykyongelmat johtuvat yleensä verkkoliikenteestä, verkon määritysongelmista, asiakkaan tai klusterin käsittelykuormituksesta tai näiden yhdistelmästä. Tässä artikkelissa kuvataan useita tehokkaita tapoja suorituskykyongelmien vianmääritykseen.
Resolution
Vianetsintä InsightIQ
:n sisällysluettelon avulla:
- Isilon InsightIQ:n käyttäminen
- Vianmääritys ilman InsightIQ:ta
- Verkon siirtonopeus
- Asiakasyhteyksien jakelu
- SmartConnect
- Klusterin siirtonopeus
- Klusterin käsittely
- Jonossa olevat toiminnot
- Suoritin
Isilon InsightIQ:n käyttäminen
Isilon InsightIQ on paras tapa seurata suorituskykyä ja tehdä suorituskykyongelmien vianmääritys.
Isilon InsightIQ -virtuaalilaitteen avulla voit seurata ja analysoida Isilon-klusterin toimintaa joustavien ja muokattavien kaavionäkymien avulla InsightIQ-verkkopohjaisessa sovelluksessa. Nämä kaaviot sisältävät yksityiskohtaisia tietoja klusterilaitteiston, ohjelmistojen sekä tiedostojärjestelmien ja protokollan toiminnoista. InsightIQ muuntaa tiedot visuaalisiksi tiedoiksi, jotka korostavat suorituskyvyn poikkeavuuksia, mikä mahdollistaa pullonkaulojen nopean diagnosoinnin tai työnkulkujen optimoinnin.
Lisätietoja InsightIQ:n käytöstä on InsightIQ:n käyttöoppaassa.
Vianmääritys ilman InsightIQ:ta
Jos et käytä InsightIQ:ta, voit tutkia suorituskykyongelmia useilla komennoilla. Tee suorituskykyongelmien vianmääritys ensin tutkimalla verkon ja klusterin siirtonopeutta, sitten klusterin käsittelyä ja lopuksi tutkimalla yksittäisten solmujen suoritinnopeuksia.
Verkon siirtonopeus
Käytä verkkotestaustyökalua, kuten Iperf Määritä verkon klusterin ja asiakastietokoneiden siirtonopeusominaisuudet.
Käyttää Iperf, suorita seuraavat komennot klusterissa ja asiakkaassa. Nämä komennot määrittävät ikkunan koon, joka on riittävän suuri paljastamaan, aiheuttaako verkkolinkki mahdollisesti latenssiongelmia.
- Klusterin:
iperf -s -w 262144
- Työasema:
iperf -c <cluster IP> -w 262144
Asiakasyhteyksien jakelu
Tarkista, kuinka monta NFS- ja SMB-asiakasta klusteriin on kytketty, jotta voit varmistaa, etteivät ne suosi yhtä solmua.
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Tarkista NFS-asiakkaat seuraavalla komennolla:
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs
Tulos näyttää yhteen kytkettyjen asiakkaiden määrän solmua kohden ja sen, kuinka monta näistä asiakkaista on aktiivisia kussakin solmussa. - Tarkista SMB-asiakkaat seuraavalla komennolla:
isi statistics query - nodes=all --stats=node.clientstats.connected.smb, node.clientstats.active.smb1,node.clientstats.active.smb2
Tulos näyttää yhteen kytkettyjen asiakkaiden määrän solmua kohden ja sen, kuinka monta näistä asiakkaista on aktiivisia kussakin solmussa.
SmartConnect
Varmista, ettei verkkoliikenne kuormita solmua, jossa SmartConnect toimii.
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Suorita seuraava komento:
isi_for_array -sq 'ifconfig|grep em -A3'
Tulos näyttää luettelon kaikista ulkoiseen käyttöliittymään sidotuista IP-osoitteista. - Tarkista, onko solmuissa yksi IP-osoite muiden lisäksi.
- Tarkista vaiheessa 3 havaitsemiesi solmujen tila suorittamalla seuraava komento:
isi status
Tarkista tulosteen siirtosarakkeesta vaiheessa 3 havaittu solmujen kuormitus.
Klusterin siirtonopeus
Arvioi klusterin siirtonopeutta kirjoitus- ja lukutesteillä, jotka mittaavat tiedostosta lukemiseen ja siihen kirjoittamiseen kuluvaa aikaa. Suorita vähintään yksi kirjoituskoe ja yksi lukukoe seuraavasti.
Kirjoita koe
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Vaihda /ifs-hakemistoon:
cd /ifs
- Käytä klusterin komentoriviliittymässä (CLI) tai UNIX- tai Linux-asiakastietokoneessa
ddkomento, jolla voit kirjoittaa klusteriin uuden tiedoston. Suorita seuraava komento:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Tämä komento luo 1 Gt:n mallitiedoston ja ilmoittaa levylle kirjoittamiseen kuluneen ajan. - Ekstrapoloi tämän komennon tuloksesta, kuinka monta megatavua sekunnissa levylle voidaan kirjoittaa yksivirtaisissa työnkuluissa.
- Jos sinulla on MAC-asiakas ja haluat suorittaa lisäanalyysin,
- Käynnistä Activity Monitor.
- Suorita seuraava komento, jossa
pathToFileon kohdetiedoston tiedostopolku:cat /dev/zero > /pathToFile
Tämä komento auttaa mittaamaan kirjoitustoimintojen siirtonopeutta Isilon-klusterissa. (Vaikka on mahdollista suorittaaddMAC-asiakkaan komento, tulokset voivat olla epäjohdonmukaisia.) - Tarkkaile komennon tuloksia Järjestelmän valvonnan Verkko-välilehdellä.
Lue testi
Kun mittaat lukutoimintojen siirtonopeutta, älä suorita lukutestejä tiedostolle, jonka loit kirjoitustestin aikana. Koska tiedosto on välimuistissa, lukutestiesi tulokset olisivat epätarkkoja. Testaa sen sijaan sellaisen tiedoston lukutoimintoa, jota ei ole tallennettu välimuistiin. Etsi klusterista tiedosto, jonka koko on yli 1 Gt, ja viittaa kyseiseen tiedostoon lukutestissä.
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Käytä klusterin komentoriviliittymässä tai UNIX- tai Linux-asiakastietokoneessa
ddkomento, jolla luetaan klusterissa oleva tiedosto. Suorita seuraava komento, jossapathToFileon kohdetiedoston tiedostopolku:dd if=/pathToLargeFile of=/dev/null bs=1024k
Tämä komento lukee kohdetiedoston ja ilmoittaa sen lukemiseen kuluneen ajan. - Jos sinulla on MAC-asiakas ja haluat suorittaa lisäanalyysin,
- Käynnistä Activity Monitor.
- Suorita seuraava komento, jossa
pathToFileon kohdetiedoston tiedostopolku:time cp /pathToLargeFile > /dev/null
Tämä komento auttaa mittaamaan lukutoimintojen siirtonopeutta Isilon-klusterissa. (Vaikka on mahdollista suorittaaddMAC-asiakkaan komento, tulokset voivat olla epäjohdonmukaisia.) - Tarkkaile komennon tuloksia Järjestelmän valvonnan Verkko-välilehdellä.
Klusterin käsittely
Rauhalliset työt
Ennen klusterin syöte-/tuotostoimintojen (I/O) (IOPS) tutkimista:
- Määritä, mitkä työt ovat käynnissä klusterissa. Jos käynnissä on vaikeita töitä, kuten Auto-Balance, Collect tai Multi-Scan, mieti, miksi kyseiset työt ovat käynnissä ja pitäisikö niiden olla edelleen käynnissä.
- Harkitse kulutettavien tietojen tyyppiä. Jos asiakastietokoneet käsittelevät suuria videotiedostoja tai virtuaalikoneita (VM), uusittu työ vaatii normaalia suuremman määrän levyn IOPS-asemia.
- Harkitse rauhallisen työn tilapäistä keskeyttämistä. Tämä voi parantaa suorituskykyä merkittävästi ja olla toteuttamiskelpoinen lyhyen aikavälin ratkaisu suorituskykyongelmaan.
Levyn I/O
Levyn I/O:n tutkiminen voi auttaa määrittämään, ovatko tietyt levyt ylikäytössä.
Klusterin mukaan
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Tarkista levyn I/O suorittamalla seuraava komento:
isi statistics pstat
- Jaa komennon tuloksesta levyn IOPS klusterissa olevien levyjen kokonaismäärällä. Esimerkiksi Isilon IQ 12000x -solmuja käyttävässä 8-solmuisessa klusterissa, jossa on 12 asemaa solmua kohden, levyn IOPS jaetaan 96:lla.
X-sarjan solmuissa ja NL-sarjan solmuissa levyn IOPS:n pitäisi olla enintään 70 100 %:n satunnaisissa työnkuluissa tai levyn IOPS:n ollessa enintään 140 100 %:n peräkkäisissä työnkuluissa. Koska NL-sarjan solmuissa on vähemmän RAM-muistia ja pienemmät suoritinnopeudet kuin X-sarjan solmuissa, X-sarjan solmut pystyvät käsittelemään suurempia levyn IOPS-asemia.
Solmun ja levyn mukaan
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Suorittamalla seuraava komento voit selvittää solmukohtaiset levyjen IOPS-lukemat, mikä voi auttaa ylikäytettyjen levyjen tunnistamisessa:
isi statistics query --nodes=all --stats=node.disk.xfers.rate.sum --top
- Suorita seuraava komento määrittääksesi, miten tilastoja kysellään levykohtaisesti:
isi statistics describe --stats=all | grep disk
Jonossa olevat toiminnot
Toinen tapa selvittää, ovatko levyt ylikäytössä, on määrittää, kuinka monta toimintoa kullekin klusterin levylle on jonossa. Yksivirtaisessa SMB-pohjaisessa työnkulussa jono 4 voi tarkoittaa ongelmaa, kun taas suuren samanaikaisen NFS-nimitilan toiminnoissa jono on suurempi.
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Määritä klusterin kullekin levylle jonossa olevien toimintojen määrä suorittamalla seuraava komento:
isi_for_array -s sysctl hw.iosched | grep total_inqueue
- Määritä jonotoimintojen aiheuttama viive:
sysctl -aN hw.iosched|grep bios_inqueue|xargs sysctl -D
Suoritin
Suoritinongelmat jäljitetään usein toimintoihin, joita asiakkaat suorittavat klusterissa. Käyttämällä isi statistics Komennolla voit määrittää klusterille suoritettavat toiminnot, jotka joko verkkoprotokolla tai asiakastietokone luetteloi.
- Avaa SSH-yhteys johonkin klusterin solmuun ja kirjaudu root-tilillä.
- Suorittamalla seuraava komento voit määrittää, mitä toimintoja verkossa suoritetaan, ja arvioida, mitkä näistä toiminnoista vievät eniten aikaa:
isi statistics protocol --orderby=TimeAvg --top
Tämä komentotulos antaa yksityiskohtaiset tilastot kaikista verkkoprotokollista järjestettynä sen mukaan, kuinka kauan klusterilta kestää vastata asiakkaille. Vaikka tämän komennon tulokset eivät välttämättä tunnista, mikä toiminto on hitain, se voi osoittaa sinut oikeaan suuntaan. - Suorittamalla seuraavan komennon saat lisätietoja suorittimen käsittelystä, esimerkiksi solmujen suorittimista, joita käytetään eniten:
isi statistics system --top
- Suorita seuraava komento saadaksesi kunkin solmun neljä prosessia, jotka kuluttavat eniten suoritinresursseja:
isi_for_array -sq 'top -d1|grep PID -A4'
Additional Information
Seuraavassa on suositeltuja aiheeseen liittyviä resursseja, jotka saattavat kiinnostaa: