GNU/Linux >> Tutoriales Linux >  >> Linux

Uso de nfsstat y nfsiostat para solucionar problemas de rendimiento de NFS en Linux

El sistema de archivos de red (NFS) permite a las máquinas montar una partición de disco en una máquina remota como si fuera un disco local. Permite compartir archivos de forma rápida y sin problemas a través de una red. Sin embargo, debido a que NFS se basa en la infraestructura de red existente, cualquier falla en la red puede afectar el rendimiento de la conexión. Las dos herramientas más importantes que he usado a lo largo de los años para analizar el rendimiento de NFS desde la perspectiva del servidor y del cliente son nfsstat y nsfiostat . Las dos herramientas forman parte del paquete nfs-utils y deben instalarse como tales: 

yum install -y nfs-utils

Comprender el resultado de las herramientas puede ayudar a optimizar el rendimiento de NFS.

El comando nfsstat

El nfsstat El comando muestra información estadística sobre las interfaces NFS y de llamada a procedimiento remoto (RPC) para el kernel.

En el servidor NFS, ejecute el siguiente comando:

nfsstat -s

El resultado debe ser similar al siguiente:

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%

El campo más importante a verificar es badcalls , que representa el número total de llamadas rechazadas por la capa RPC. Cuando las badcalls es mayor que 0, entonces se debe verificar la red subyacente, ya que podría haber latencia. Además, es muy importante colocar el servidor NFS en la misma subred que el cliente NFS al diseñar la red.

En el cliente NFS, ejecuta lo siguiente:

nfsstat -c

La salida debe ser similar a la siguiente:

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%

De lo anterior, al cliente le está yendo bien ya que tiene relativamente pocas solicitudes de retransmisión. Si encuentra retransmisiones excesivas, es posible que desee ajustar los tamaños de búfer de transferencia de datos, que se especifican en el mount opciones de comando rsize y wsize .

También puede verificar el paquete descartado ejecutando el siguiente comando tanto en el servidor como en el cliente:

nfsstat -o net

El comando nfsiostat

El nfsiostat El comando funciona de manera similar al iostat comando, pero se usa para los puntos de montaje NFS en el servidor. Utiliza el archivo /proc/self/mountstats como entrada y proporciona información sobre el rendimiento de entrada/salida de los recursos compartidos NFS montados en el sistema.

El nfsiostat El comando se utiliza en el cliente NFS para comprobar su rendimiento cuando se comunica con el servidor NFS.

Ejecutando nfsiostat sin ningún argumento debería tener una salida similar a la siguiente:

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

Las estadísticas más importantes a tener en cuenta son:

  • retrans - Este es el número de retransmisiones.
  • avg RTT (ms) - Esta es la duración desde el momento en que el núcleo del cliente envía la solicitud RPC hasta el momento en que recibe la respuesta.
  • avg exe (ms) - Esta es la duración desde el momento en que el cliente NFS realiza la solicitud RPC a su núcleo hasta que se completa la solicitud RPC. Esto incluye el RTT.

Un avg RTT(ms) muy alto y retrans indica que hay una latencia alta en la red. La alta latencia también afecta el rendimiento de E/S, porque habrá muchos tiempos de espera. El cliente se volverá lento y será difícil trabajar con él.

También es muy importante tener siempre una red dedicada entre el servidor NFS y el cliente NFS para garantizar un alto rendimiento.

Terminando

El uso de nfsstat y nfsiostat para solucionar problemas de rendimiento de NFS puede convertirlo en un administrador del sistema mucho más eficiente. Tómese un tiempo para aprender y usar estas excelentes herramientas de NFS.

[ ¿Quiere más para su red? Descargue un libro electrónico gratuito sobre la automatización de redes con Ansible. ]


Linux
  1. Solucionar problemas con el sistema de archivos proc en Linux

  2. Configuración de un servidor y cliente NFS en Scientific Linux 6.3

  3. 10 ejemplos de pidstat para depurar problemas de rendimiento del proceso de Linux

  4. Usando kbhit() y getch() en Linux

  5. Problemas relacionados con el uso de sort y comm

Cómo equilibro las funciones y el rendimiento en mi terminal Linux

Arranque dual de Windows y Linux usando UEFI

Montar automáticamente el recurso compartido NFS en Linux usando autofs

Solucionar problemas y monitorear el rendimiento del sistema Linux con nmon

Cómo solucionar problemas de latencia de transferencia de NFS usando "nfsiostat" en CentOS/RHEL

Uso de vmstat para solucionar problemas de rendimiento en Linux