Verifique el estado y la disponibilidad de sus servidores Linux para obtener un rendimiento óptimo con la herramienta de monitoreo de Linux de Site24x7.
Los problemas de E/S del disco y uso del espacio son causas comunes de degradación del rendimiento en los sistemas informáticos. La baja velocidad del sistema puede afectar directamente su capacidad para recuperar y almacenar información en el disco.
En este artículo, aprenderemos por qué ocurren los problemas de E/S del disco, cuáles son los comandos de Linux que se pueden utilizar para diagnosticarlos y los métodos comunes para resolverlos.
Los problemas de E/S del disco pueden ser el resultado de la complejidad del almacenamiento, cuellos de botella en las aplicaciones, configuraciones RAID, tiempos de respuesta y diseño. Veamos algunos de estos puntos en detalle.
Una capa de almacenamiento virtual o definida por software se ejecuta sobre la capa de almacenamiento físico subyacente. El almacenamiento virtual aumenta la complejidad y el número de posibles puntos de fallo debido a la contención de recursos. Esto se debe a que no puede leer y escribir datos tan rápido como el almacenamiento físico.
Las aplicaciones que hacen un uso intensivo de la E/S suelen provocar cuellos de botella y problemas de latencia del almacenamiento. Suelen producirse cuando varias aplicaciones muy ocupadas utilizan el mismo almacén de datos. La mejor solución para los cuellos de botella de las aplicaciones es encontrar una forma de gestionarlas con poco ancho de banda de E/S de almacenamiento y utilizar una base de usuarios más amplia.
La configuración de RAID se puede utilizar para el almacenamiento en una aplicación tanto a nivel de hardware como de software. La configuración de RAID reparte las solicitudes de E/S y las copias de datos entre varios discos. Esto aumenta la E/S y la fiabilidad del almacenamiento. Cualquier problema en el dispositivo físico o el software que gestiona la matriz RAID —por ejemplo, debido a su antigüedad, una configuración insuficiente o un software obsoleto— puede causar ralentizaciones en las solicitudes de E/S.
Un aumento en el tiempo de respuesta de una E/S de almacenamiento puede degradar el rendimiento de E/S. Cuando un dispositivo de almacenamiento tarda más en responder a una solicitud de E/S, esto indica que hay un cuello de botella en la capa de almacenamiento. La carga adicional en los cuellos de botella de E/S de almacenamiento existentes genera un retraso constante en el tiempo de respuesta.
Otra causa de la lentitud de E/S de almacenamiento es el estado deficiente de los dispositivos físicos. A medida que los discos duros envejecen o experimentan un aumento de temperatura, es menos probable que alcancen sus velocidades máximas de E/S y más común que la latencia de E/S empiece a degradarse. Los discos más antiguos se deben sustituir antes de que se deterioren y provoquen errores de E/S.
Para identificar y solucionar los problemas de E/S del disco, es importante entender cómo pueden manifestarse en su sistema. Los problemas de E/S del disco pueden afectar el rendimiento del sistema de varias maneras:
Una vez que sospechamos de un posible problema de E/S del disco, podemos utilizar métricas para analizar el rendimiento de la E/S del disco. Estas son algunas de las métricas más importantes:
Una vez que hemos medido y monitoreado el rendimiento del disco utilizando las métricas anteriores, podemos utilizar comandos para identificar
problemas de E/S del disco. Tres de los comandos más utilizados para la resolución de problemas son df, iostat,
y
vmstat.
df
El comando df
es la forma abreviada del disk filesystem. Este es uno de los comandos más básicos
para solucionar problemas de E/S del disco. Si no hay espacio disponible, las operaciones de escritura fallarán. El comando df
muestra el espacio utilizado y disponible para todos los sistemas de archivos montados en Linux. Por defecto, el espacio utilizado y disponible
se muestra en bloques de 1K.
Sintaxis:
df [OPTIONS] [FILES]
Ejemplo:
Al ejecutar el comando df
, verás una salida similar a la que se muestra a continuación:
df
Como se puede ver en la anterior salida, esta despliega la siguiente información para todos los sistemas de archivos montados:
vmstat
El comando vmstat
también se conoce como estadísticas de memoria virtual. Es una utilidad para monitorear el rendimiento del sistema
en Linux. Deja ver información sobre procesos, memoria, programación de la CPU, disco y bloques de E/S. Muestra
a los usuarios el rendimiento del sistema en tiempo real durante un periodo de muestreo. Si no se especifica una opción, el
comando vmstat
presentará por defecto las estadísticas desde el último reinicio del sistema.
Sintaxis:
vmstat [options][delay [count]]
El retraso y el recuento son dos parámetros importantes para el comando vmstat. Se utilizan para mostrar continuamente y en tiempo real el rendimiento del sistema a la velocidad de un intervalo especificado durante un número definido de veces.
vmstat
se ejecuta infinitamente.Ejemplo:
Al ejecutar el comando vmstat
, obtendrás una salida similar a la que se muestra a continuación:
vmstat
Esta es la salida básica que muestra las estadísticas generales. También puede especificar los parámetros de retraso y recuento para
mostrar continuamente estadísticas en tiempo real. Por ejemplo, ejecutar vmstat
5 3 mostrará las siguientes 3
estadísticas en tiempo real, cada una tras un intervalo de 5 segundos.
vmstat
La anterior salida se divide en cuatro áreas. Nos centraremos en la sección de E/S. Muestra dos columnas:
Podemos utilizar esta información para analizar cuándo se están escribiendo o leyendo excesivamente los datos. A continuación, podemos utilizar otro
comando —como iostat
— para ver qué disco duro estaba asumiendo la carga y tratar de encontrar la causa raíz del
problema de E/S del disco.
iostat
Como su nombre indica, el comando iostat
se utiliza para monitorear las estadísticas de entrada/salida de un sistema. Éste
genera estos informes monitoreando la relación entre la duración del tiempo activo de los dispositivos y su
velocidad media de transferencia. Los informes generados se pueden utilizar para actualizar la configuración del sistema y así lograr un mejor
equilibrio de entrada/salida entre varios discos físicos disponibles.
Sintaxis:
iostat [option] [interval] [count]
De forma similar a lo que hemos visto con el comando vmstat, los parámetros de intervalo y recuento se utilizan para mostrar en tiempo real actualizaciones de forma infinita o sólo para recuentos específicos.
Ejemplo:
Al ejecutar el comando iostat
, obtendrás una salida similar a la que se muestra a continuación:
iostat
Los informes predeterminados de salida muestran las estadísticas de la CPU y las estadísticas de entrada/salida del dispositivo desde el momento en que se reinició el sistema por última vez. De las dos secciones, nos interesa más Dispositivo. Esta genera la siguiente información para todas las particiones o dispositivos:
Los ejemplos anteriores indican que hay problemas de rendimiento del disco en el sistema. Puedes implementar varias correcciones de software y hardware para mitigar los problemas de uso de espacio y E/S.
Write for Site24x7 is a special writing program that supports writers who create content for Site24x7 “Learn” portal. Get paid for your writing.
Apply Now