Evaluación del rendimiento: E/S del disco
Evaluación del rendimiento: E/S del disco
****1. Principio del disco****
El dispositivo también se denomina dispositivo de E/S y generalmente se refiere al sistema informático Todos los dispositivos externos excepto el ordenador host.
1.1 Clasificación de los ordenadores
1.1.1 Según la velocidad de transmisión de la información:
1. Equipos de baja velocidad: solo se transmiten unos pocos bytes o cientos de información por segundo Bytes, como: teclado, mouse, etc.
2. Dispositivos de velocidad media: transmiten miles o decenas de miles de bytes de información por segundo, como: impresoras
3. Dispositivo de alta velocidad: transmite 100.000 bytes de información por segundo, como el disco
1.1.2 Dividido según la unidad de intercambio de información
1. Dispositivo de caracteres: utiliza caracteres como entrada/La unidad de información de salida, como: teclado, terminal de visualización
2. Dispositivo de bloque: información de entrada/salida en unidades de bloques de datos, como: disco
Nota: ¿Qué es un bloque de datos? Un sector se utiliza a menudo como un bloque de datos en un disco, y un sector es una unidad de lectura y escritura
****1. p>
1. Pruebe el disco Para mejorar el rendimiento, use el comando: dd
Debido a que los datos se escriben en el disco, puede ser escritura en caché o escritura directa (escribir directamente en el disco sin tener que ir). a través del búfer), IO secuencial y IO aleatoria. Por lo tanto, este tipo de prueba dd No es muy preciso.
Esta no es una herramienta de prueba profesional, pero si los requisitos para los resultados de las pruebas no son muy exigentes, se puede utilizar para realizar una evaluación sencilla de la velocidad de lectura y escritura del disco.
> Antes de usarlo, primero comprenda los dos dispositivos especiales
/dev/null pseudo dispositivo, la papelera de reciclaje no generará IO
/dev/zero pseudo dispositivo. generará un flujo de caracteres nulo y no generará IO para él
A través del método anterior, puede conocer aproximadamente el rendimiento del disco.
A partir de este comando: Sabemos: IOPS (solicitudes io por segundo) es: 6,91. La velocidad de lectura actual es: 0,44 MB/s La velocidad de escritura es: 0,36 MB/s
Las conclusiones son:
Hay 80 solicitudes de E/S por segundo (IOPS= r/). s w/s), principalmente escribiendo
El tiempo de servicio de io es de 1,56 milisegundos y el tiempo de espera promedio para el servicio es de 3,53 milisegundos
La profundidad de la cola de io es: 2,4
1. Bloqueo de entrada/salida de vmstat
Si bi bo es demasiado grande y el valor de vmstat cpu wa es grande, se debe considerar el equilibrio de carga del disco, que se puede analizar junto con la salida de iostat.
2. El tiempo de IOwait
iostat iowait es inferior a 25, lo que indica que el rendimiento de IO está en buenas condiciones
3. Uso del disco útil
¿Qué porcentaje de segundo se utiliza para las operaciones de E/S, o cuánto tiempo en un segundo la cola de E/S no está vacía, es decir, delta(uso)/s/1000 (porque la unidad de el uso es milisegundos)
(1) Si util está cerca de 100, significa que se generan demasiadas solicitudes de E/S, el sistema de E/S está lleno y el disco puede tener un cuello de botella.
(2) Si el inactivo es inferior a 70, la presión IO será mayor y, en general, la velocidad de lectura tendrá más espera.
(3) Al mismo tiempo, puede combinar vmstat para ver el parámetro b (el número de procesos en espera de recursos) y el parámetro wa (el porcentaje de tiempo de CPU ocupado por IO en espera. Cuando es superior a 30, la presión IO es alta).
4. await tiempo de espera promedio
Tiempo de espera promedio (milisegundos) para cada operación de E/S del dispositivo Es decir, delta(ruse wuse)/delta(rio wio)
p >
El tamaño de espera generalmente depende del tiempo de servicio (svctm), así como de la longitud de la cola de E/S y del modo de emisión de la solicitud de E/S.
(1) Consulte svctm para conocer los parámetros de await. Si la diferencia es demasiado alta, debe haber un problema de IO.
(2) Si svctm está más cerca de await, significa que la E/S casi no tiene tiempo de espera.
(3) Si await es mucho mayor que svctm, significa que; la cola de E/S es demasiado larga y io Si la respuesta es demasiado lenta, se requiere la optimización necesaria. Si el tiempo de respuesta excede lo que el usuario puede tolerar, puede considerar reemplazar un disco más rápido, ajustar el algoritmo del elevador del núcleo y optimizar la aplicación.
5. Longitud promedio de la cola de E / S de avgqu-sz
(1) Si avgqu-sz es relativamente grande, también significa que hay una gran cantidad de IO en espera.
avgqu-sz también es algo a lo que debe prestar atención al realizar el ajuste de IO. Este es el tamaño de los datos operados directamente cada vez. Si hay muchas veces pero los datos son pequeños, el IO lo hará. en realidad ser muy pequeño. Si los datos tomados son grandes, los datos IO serán altos. También puedes pasar avgqu-sz × ( r/s o w/s ) = rsec/s o wsec/s. En otras palabras, la velocidad de lectura y escritura está determinada por esto.
Dado que avgqu-sz es el valor promedio por unidad de tiempo, no puede reflejar la inundación de E/S instantánea.
Los parámetros más importantes, lectura real del disco y escritura real del disco, respectivamente, representan la velocidad real de lectura y escritura del disco.
Luego, a continuación, podemos proceder en función de cada columna Al ordenar io, puede saber qué proceso está causando el consumo específico de io.
Nota: TID representa el número de subproceso. Si es multiproceso, puede usar el comando para determinar qué proceso es, o puede usar ps -eLf | grep TID para obtener su número de proceso principal.
2.2.1 topas Obtiene si hay io esperando
Observe atentamente "Esperar" (en la parte superior de la sección CPU, si el valor es mayor, significa que hay). puede ser un cuello de botella de io
2.2.2 Obtener cola de io, IOPS, tiempo de respuesta, etc.
Inicie sesión en el sistema operativo AIX, ingrese topas y luego presione D. El aparecerá la siguiente interfaz:
En la imagen de arriba Entre ellos, el TPS de hdisk2 es el IOPS (número de solicitudes de io emitidas por segundo) del disco, que es 655 KBPS es el rendimiento del disco por segundo, que es 163,9; M; especialmente se deben marcar ART/AWT y MRT/MWT, indican los tiempos de espera promedio y máximo para las operaciones de lectura y escritura del disco. Los valores más altos indican que el disco está muy ocupado. AQW representa el número promedio de colas de espera por solicitud a un dispositivo de E/S. Asimismo, los valores más altos indican que el disco no puede seguir el ritmo de las solicitudes.
2.2.3 Verifique la causa del cuello de botella
1. Puede usar otras herramientas (como filemon, fileplace, lsof o lslv) para ayudar a determinar qué proceso, adaptador o archivo El sistema está causando el cuello de botella.
2. Puede utilizar ps -ef | grep "pid" para ver las tareas ejecutadas por el proceso actual
find . du - h | ordenar -nr