GNU/Linux >> Znalost Linux >  >> Linux

Použití nfsstat a nfsiostat k řešení problémů s výkonem NFS v Linuxu

Síťový souborový systém (NFS) umožňuje strojům připojit diskový oddíl na vzdálený počítač, jako by to byl místní disk. Umožňuje rychlé a bezproblémové sdílení souborů v síti. Protože však NFS spoléhá na stávající síťovou infrastrukturu, mohou jakékoli závady v síti ovlivnit výkon připojení. Dva nejdůležitější nástroje, které jsem v průběhu let používal k analýze výkonu NFS z pohledu serveru i klienta, jsou nfsstat a nsfiostat . Tyto dva nástroje jsou součástí balíčku nfs-utils a je třeba je nainstalovat jako takové: 

yum install -y nfs-utils

Pochopení výstupu nástrojů může pomoci s optimalizací výkonu NFS.

Příkaz nfsstat

nfsstat zobrazí statistické informace o rozhraních NFS a Remote Procedure Call (RPC) k jádru.

Na serveru NFS spusťte následující příkaz:

nfsstat -s

Výstup by měl být podobný následujícímu:

Server rpc stats:
calls      badcalls   badclnt    badauth    xdrcall
107310012   0          0          0          0

Server nfs v4:
null         compound
21        0% 107310004 99%

Server nfs v4 operations:
op0-unused   op1-unused   op2-future   access       close        commit
0         0% 0         0% 0         0% 910848    0% 5671218   2% 153218    0%
create       delegpurge   delegreturn  getattr      getfh        link
4104      0% 0         0% 517       0% 58659066 22% 8700995   3% 0         0%

Nejdůležitější pole ke kontrole je badcalls , což představuje celkový počet hovorů odmítnutých vrstvou RPC. Když badcalls je větší než 0, než je třeba zkontrolovat základní síť, protože může existovat latence. Při návrhu sítě je také velmi důležité umístit server NFS do stejné podsítě jako klient NFS.

Na klientovi NFS spustíte následující:

nfsstat -c

Výstup by měl být podobný následujícímu:

Client rpc stats:
calls      retrans    authrefrsh
30557550   27686      11075

Client nfs v4:
null         read         write        commit       open         open_conf
0         0% 1601136   5% 568239    1% 23683     0% 1652804   5% 1466260   4%
open_noat    open_dgrd    close        setattr      fsinfo       renew
0         0% 0         0% 1648000   5% 27154     0% 8         0% 28320     0%

Z výše uvedeného je na tom klient dobře, protože má relativně málo požadavků na retranslaci. Pokud se setkáváte s nadměrným počtem opakovaných přenosů, možná budete chtít upravit velikosti vyrovnávací paměti přenosu dat, které jsou určeny mount možnosti příkazu rsize a wsize .

Zahozený paket můžete také zkontrolovat spuštěním následujícího příkazu na serveru i na klientovi:

nfsstat -o net

Příkaz nfsiostat

nfsiostat příkaz funguje podobně jako iostat příkaz, ale používá se pro přípojné body NFS na serveru. Používá soubor /proc/self/mountstats jako vstup a poskytuje informace o vstupním/výstupním výkonu sdílených složek NFS nainstalovaných v systému.

nfsiostat příkaz se používá na klientovi NFS ke kontrole jeho výkonu při komunikaci se serverem NFS.

Spuštění nfsiostat bez jakéhokoli argumentu by měl mít výstup podobný následujícímu:

10.10.1.10:/data/share mounted on /samba/students:
   op/s         rpc bklog
  16.96            0.00
read:             ops/s            kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.900           5.392           5.990        0 (0.0%)           0.550           0.660
write:            ops/s            kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.031          21.818         708.149        0 (0.0%)         122.745         35874.872

Nejdůležitější statistiky, na které je třeba dávat pozor, jsou:

  • retrans - Toto je počet opakovaných přenosů.
  • avg RTT (ms) - Toto je doba trvání od okamžiku, kdy jádro klienta odešle požadavek RPC, do okamžiku, kdy obdrží odpověď.
  • avg exe (ms) - Toto je doba od okamžiku, kdy klient NFS odešle požadavek RPC jeho jádru, až do dokončení požadavku RPC. To zahrnuje RTT.

Velmi vysoká avg RTT(ms) a retrans označuje vysokou latenci v síti. Vysoká latence také ovlivňuje výkon I/O, protože dojde k mnoha časovým limitům. Klient se stane pomalým a bude obtížné s ním pracovat.

Je také velmi důležité mít vždy vyhrazenou síť mezi serverem NFS a klientem NFS, aby byla zajištěna vysoká propustnost.

Zabalení

Použití nfsstat a nfsiostat řešení problémů s výkonem NFS z vás může udělat mnohem efektivnějšího správce systému. Udělejte si čas na to, abyste se naučili tyto skvělé nástroje NFS a používali je.

[ Chcete pro svou síť více? Stáhněte si zdarma e-knihu o automatizaci sítě s Ansible. ]


Linux
  1. Nastavení serveru a klienta NFS v systému Scientific Linux 6.3

  2. Co je NFS a jak jej nainstalovat na Linux

  3. Použití nástroje Windows Performance Analyzer k řešení problémů s výkonem

  1. 10 příkladů pidstat pro ladění výkonnostních problémů procesu Linux

  2. Použití kbhit() a getch() v Linuxu

  3. Použití rz a sz pod linuxovým shellem

  1. Odstraňte problémy s použitím souborového systému proc na Linuxu

  2. Jak řešit problémy s výkonem v Linuxu – Průvodce pro začátečníky

  3. Problémy s používáním sort a comm