IO traffic analysis

Updated at:

IO traffic analysis helps you identify which workloads generate I/O traffic and is commonly used to troubleshoot io burst issues. This topic describes how to use this feature in the Operating System Console.

Limitations

  • Region limitations

  • Operating system limitations

    Architecture

    Operating system

    x86 architecture

    • Rocky Linux 9.5

    • Rocky Linux 9.1

    • Ubuntu 20.04

    • Alibaba Cloud Linux 3 Container Optimized Edition

    • Rocky Linux 8.8

    • Ubuntu 22.04

    • Alibaba Cloud Linux 3 Pro

    • Alibaba Cloud Linux 2/3

    • CentOS 7.6 or later, or CentOS 8

    • Anolis OS 7/8

    • Ubuntu 24.04

    ARM architecture

    • Alibaba Cloud Linux 3 Pro

    • Alibaba Cloud Linux 3

Prerequisites

  • If you use a RAM user, make sure that the Alibaba Cloud account (primary account) has granted the RAM user the AliyunECSReadOnlyAccess and AliyunSysomFullAccess system policies.

  • The console permissions are activated.

    The first time you log on to the Operating System Console, click Activate Service to activate the console service.

Procedure

  1. Go to Operating System Console.

  2. In the left-side navigation pane, click System Diagnosis.

  3. In the upper part of the left-side navigation pane, select the region in which the target instance resides.

    image

  4. In the Diagnosis Type list, select Storage Diagnosis. From the Diagnosis Item list, select IO traffic analysis. Configure the parameters and click Run Diagnosis.

    Note

    If SysOM is not installed, the system automatically installs SysOM on the target ECS instance and then starts the diagnosis after you click Run Diagnosis.

    This table describes the parameters for the diagnosis.

    Parameter

    Description

    Required

    instance ID

    The ID of the target ECS instance.

    Yes

    Diagnosis Duration

    The duration of the diagnosis. Default: 15 seconds.

    Yes

    target disk

    The name of the disk to diagnose, such assda.

    Optional. If you do not specify this parameter, the diagnosis runs on all disks.

  5. In the Diagnosis Records section, click View Report.

Diagnostic report

A diagnostic report contains all information from a single diagnosis.

  • Basic Information

    The Basic Information section summarizes the diagnosis with key details, including the instance ID (which serves as the resource ID), diagnosis item, diagnostic report ID, and diagnosis start time.

  • Diagnosis Conclusion

    • If the IO traffic is within the normal range, the report displays the current I/O performance metrics.

    • If abnormal IO traffic is detected, the report displays the cause of the anomaly.

  • Diagnosis Suggestion

    This section provides recommended actions based on the diagnosis results.

  • Diagnosis Details

    The Diagnosis Details section has four parts: Cause Analysis, Disk-Level I/O Traffic List, Process-Level I/O Traffic List, and Process I/O Block Size Distribution.

    • Cause Analysis

      The Cause Analysis section displays the I/O traffic generated by processes that access the disk. It typically shows the IOPS and IO throughput for a specific process that accesses a specific disk and identifies the target file being accessed.

    • Disk-level I/O Traffic List

      This section shows the disk I/O traffic statistics collected during the diagnosis and explains its key fields.

      • Disk/Partition Name: The name of the diagnosed disk or partition.

      • Number of Merged Read I/Os: The number of merged read operations during the diagnosis.

      • Number of Merged Write I/Os: The number of merged write operations during the diagnosis.

      • Read I/O throughput: The read IO throughput during the diagnosis.

      • Write I/O throughput: The write IO throughput during the diagnosis.

      • Average IO latency: The average time for an I/O operation to complete.

      • Average read IO latency: The average time required for each read operation.

      • Average write IO latency: The average time required for each write operation.

      • IO utilization (percentage): The percentage of time the disk was busy processing I/O requests.

    • Process-level I/O Traffic List

      This section displays the process-level I/O traffic during the diagnosis and explains the key fields.

      • Process Name: The name of the process. 

      • Parent Process ID: Process ID: The process ID.

      • Read I/O count: The read IOPS contributed by the process.

      • Write IOPS: The write iops contributed by the process.

      • Read I/O throughput: Read bps contributed by the process.

      • Write I/O throughput: The write bps contributed by the process.

      • Disk Cache Flush Count: The number of flush IO operations generated by the process.

      • Disk/Partition Name: The target disk that consumed the I/O.

      • File Name: The source file that generated the I/O.

      This feature allows you to trace the source of I/O that the kworker process uses to flush dirty pages. As a result, sub-items are displayed under the kworker process, which you can expand to identify the actual process that generates dirty pages by writing to buffer I/O.

    • Process I/O Block Size Distribution

      This section shows the distribution of I/O block sizes that processes submitted to the OS block layer during the diagnosis and explains the key fields.

      • Process Name: The name of the process. 

      • Parent Process ID: Process ID: Process ID information

      • nK write I/O percentage: The percentage of I/O operations with a size of nK.

      • Percentage of Write I/Os Larger Than 512 KB: The percentage of write operations with a block size larger than 512 KB.