API Doc
Search Docs...
⌘ K
OverviewDeploymentManagementOperationReferenceGlossary

Collecting and analyzing real-time cluster-wide I/O performance data

Procedure

Run the following command on any node in the cluster. This creates a live session, begins collecting data from chunk services, and outputs the results in real time to the console. The following two output formats are supported:

  • text: Outputs the parsed trace logs directly.
  • io_pattern: Counts the number of I/O operations for each I/O size per second. Outputs the top 20 values.

zbs-perf-tools trace live_trace [--trace_time <time>] [--output_type <type>]

ParameterDescription
--trace_time <time>The duration of data collection. Default: 10s. Maximum: 600s.
--output_type <type>The output type. Options: text or io_pattern. Default: text.

Press Ctrl + C to stop data collection.

Output example

$zbs-perf-tools  trace live_trace
live session started...
[17:43:45.136861534] (+?.?????????) zbs17-73 chunk:zbs_client_io_size: { cpu_id = 2 }, { volume_id = 0x55C2E2ABED40, op = 5, len = 12288, offset = 10548602003456 }
[17:43:45.136958065] (+0.000096531) zbs17-73 chunk:zbs_client_io_size: { cpu_id = 2 }, { volume_id = 0x55C2E2B597C0, op = 5, len = 12288, offset = 10548107517952 }
[17:43:45.137670669] (+0.000712604) zbs17-73 chunk:zbs_client_io_size: { cpu_id = 2 }, { volume_id = 0x55C2E2AC2540, op = 5, len = 8192, offset = 10659264245760 }
$zbs-perf-tools  trace live_trace --output_type io_pattern
timestamp:  2023-07-28 17:46:29.105326112 +0800 CST m=+9.508150252
IO PATTERN
------------------
  I/O SIZE  COUNT  
------------------
  4096     15038  
  512      3841   
  8192     3009   
  12288    844    
  16384    476    
  20480    220    
  49152    154    
  32768    152    
  24576    145    
  28672    138    
  40960    137    
  65536    132    
  2048     132    
  45056    102    
  36864    88     
  53248    72     
  1024     66     
  131072   62     
  57344    59     
  61440    41     
------------------