获取性能统计信息
使用 statistics_get 命令可从存储系统检索性能统计信息。
statistics_get [ perf_class=perfClassName | host=HostName | host_iscsi_name=initiatorName |
host_fc_port=WWPN | target=RemoteTarget | remote_fc_port=WWPN | remote_ipaddress=IPAddress |
vol=VolName | domain=DomainName | ipinterface=IPInterfaceName | local_fc_port=ComponentId ]
< start=TimeStamp | end=TimeStamp > [ module=ModuleNumber ]
count=N interval=IntervalSize resolution_unit=<minute|hour|day|week|month>
参数
| 名称 | 类型 | 描述 | 必需 | 缺省值 |
|---|---|---|---|---|
| host | 对象名 | 将统计信息限制为仅特定主机的统计信息。 | N | 所有主机 |
| host_fc_port | 不适用 | 主机端口的 FC 地址。 | N | 所有端口。 |
| target | 对象名 | 将统计信息限制为仅由指定远程目标生成的 I/O 的统计信息(由于远程镜像)。 | N | 所有目标。 |
| remote_fc_port | 不适用 | 将统计信息限制为仅指定主机/远程 FC 端口的统计信息。 | N | 所有端口。 |
| remote_ipaddress | 不适用 | 远程目标端口的 IP 地址。 | N | 所有端口。 |
| host_iscsi_name | iSCSI 启动器名称 | 将统计信息限制为仅指定 iSCSI 启动器的统计信息。 | N | 所有端口。 |
| ipinterface | 对象名 | 将统计信息限制为指定 IP 接口的统计信息(仅与 iSCSI 相关)。 | N | 所有接口。 |
| module | 不适用 | 将统计信息限制为仅指定指定模块的统计信息。 | N | 所有模块。 |
| local_fc_port | 不适用 | 将统计信息限制为仅针对指定 FC 端口执行的 I/O 的统计信息。 | N | 所有端口。 |
| vol | 对象名 | 将统计信息限制为仅指定卷的统计信息。 | N | 所有卷。 |
| domain | 对象名 | 将统计信息限制为仅指定域的统计信息。 | N | 所有域。 |
| start | 不适用 | 统计信息报告的起始点。 | N | 不适用 |
| end | 不适用 | 统计信息报告的结束点。 | N | 不适用 |
| count | 正整数 | 报告的时间点数。 | Y | 不适用 |
| interval | 正整数 | 每个统计信息时间点中的时间长度。 此数字的解析在 resolution_unit 中设置。 | Y | 不适用 |
| resolution_unit | 枚举 | 为每个分箱的长度设置计量单位。 | Y | 不适用 |
| perf_class | 对象名 | 显示带宽和 IOPS 的性能类汇总统计信息。 | N | 所有性能类。 |
此命令列示 I/O 统计信息。 count 参数设置统计信息报告中的行数。 interval 和 resolution_unit 参数的组合可为每个统计行设置时间长度。 必须提供开始时间戳记或结束时间戳记。 这些时间戳记可设置统计报告的时间。 其他参数可将统计信息限制为特定主机、主机端口、卷、域和接口等的统计信息。
对于每个统计信息行,会报告 48 个数字,用于表示带宽、IOPS 和等待时间的所有 16 个选项的读/写、命中数/未命中数和 I/O 大小报告的所有组合。 统计信息收集限制为 32 个池和 200 个卷。
start 和 end 字段的语法如下所示:Y-M-D[.[h[:m[:s]]]],其中范围如下所示:
- Y - 年(四位数字)
- M - 月 (1-12)
- D - 日 (1-31)
- h - 小时(0-23,0 为缺省值)
- m - 小时(0-59,0 为缺省值)
- s - 秒(0-59,0 为缺省值)
年、月和日将使用短划线分隔,而可选的小时、分钟和秒将使用冒号分隔。
输出单位:
- 超大型块 >512KB
- 大型块 - 64-512KB
- 中等大小的块 - 8-64KB
- 小型块 - 0-8KB
- 等待时间(以毫秒为单位)
- 带宽(以 KB 为单位)
| 字段标识 | 字段输出 | 缺省位置 |
|---|---|---|
| time | Time | 1 |
| failures | Failures | 不适用 |
| aborts | Aborts | 不适用 |
| read_hit_very_large_iops | Read Hit Very large - IOps | 2 |
| read_hit_very_large_latency | Read Hit Very large - Latency | 3 |
| read_hit_very_large_ internal_latency | Read Hit Very large - Internal Latency | 75 |
| read_hit_very_large_ throughput | Read Hit Very large - Throughput | 4 |
| read_hit_very_large_ remotely_served | Read Hit Very large - Remotely Served IOs | 63 |
| read_hit_large_iops | Read Hit Large - IOps | 5 |
| read_hit_large_latency | Read Hit Large - Latency | 6 |
| read_hit_large_ internal_latency | Read Hit Large - Internal Latency | 76 |
| read_hit_large_throughput | Read Hit Large - Throughput | 7 |
| read_hit_large_remotely_ served | Read Hit Large - Remotely Served IOs | 64 |
| read_hit_medium_iops | Read Hit Medium - IOps | 8 |
| read_hit_medium_latency | Read Hit Medium - Latency | 9 |
| read_hit_medium_ internal_latency | Read Hit Medium - Internal Latency | 77 |
| read_hit_medium_throughput | Read Hit Medium - Throughput | 10 |
| read_hit_medium_ remotely_served | Read Hit Medium - Remotely Served IOs | 65 |
| read_hit_small_iops | Read Hit Small - IOps | 11 |
| read_hit_small_latency | Read Hit Small - Latency | 12 |
| read_hit_small_ internal_latency | Read Hit Small - Internal Latency | 78 |
| read_hit_small_throughput | Read Hit Small - Throughput | 13 |
| read_hit_small_remotely_ served | Read Hit Small - Remotely Served IOs | 66 |
| read_miss_very_large_iops | Read Miss Very large - IOps | 14 |
| read_miss_very_large_latency | Read Miss Very large - Latency | 15 |
| read_miss_very_large_ internal_latency | Read Miss Very large - Internal Latency | 79 |
| read_miss_very_large_ throughput | Read Miss Very large - Throughput | 16 |
| read_miss_very_large_ remotely_served | Read Miss Very large - Remotely Served IOs | 67 |
| read_miss_large_iops | Read Miss Large - IOps | 17 |
| read_miss_large_latency | Read Miss Large - Latency | 18 |
| read_miss_large_ internal_latency | Read Miss Large - Internal Latency | 80 |
| read_miss_large_throughput | Read Miss Large - Throughput | 19 |
| read_miss_large_ remotely_served | Read Miss Large - Remotely Served IOs | 68 |
| read_miss_medium_iops | Read Miss Medium - IOps | 20 |
| read_miss_medium_latency | Read Miss Medium - Latency | 21 |
| read_miss_medium_ internal_latency | Read Miss Medium - Internal Latency | 81 |
| read_miss_medium_throughput | Read Miss Medium - Throughput | 22 |
| read_miss_medium_ remotely_served | Read Miss Medium - Remotely Served IOs | 69 |
| read_miss_small_iops | Read Miss Small - IOps | 23 |
| read_miss_small_latency | Read Miss Small - Latency | 24 |
| read_miss_small_ internal_latency | Read Miss Small - Internal Latency | 82 |
| read_miss_small_throughput | Read Miss Small - Throughput | 25 |
| read_miss_small_ remotely_served | Read Miss Small - Remotely Served IOs | 70 |
| write_hit_very_large_iops | Write Hit Very large - IOps | 26 |
| write_hit_very_large_latency | Write Hit Very large - Latency | 27 |
| write_hit_very_large_ internal_latency | Write Hit Very large - Internal Latency | 83 |
| write_hit_very_large_ throughput | Write Hit Very large - Throughput | 28 |
| write_hit_large_iops | Write Hit Large - IOps | 29 |
| write_hit_large_latency | Write Hit Large - Latency | 30 |
| write_hit_large_ internal_latency | Write Hit Large - Internal Latency | 84 |
| write_hit_large_throughput | Write Hit Large - Throughput | 31 |
| write_hit_medium_iops | Write Hit Medium - IOps | 32 |
| write_hit_medium_latency | Write Hit Medium - Latency | 33 |
| write_hit_medium_ internal_latency | Write Hit Medium - Internal Latency | 85 |
| write_hit_medium_throughput | Write Hit Medium - Throughput | 34 |
| write_hit_small_iops | Write Hit Small - IOps | 35 |
| write_hit_small_latency | Write Hit Small - Latency | 36 |
| write_hit_small_internal_ latency | Write Hit Small - Internal Latency | 86 |
| write_hit_small_throughput | Write Hit Small - Throughput | 37 |
| write_miss_very_large_iops | Write Miss Very large - IOps | 38 |
| write_miss_very_large_latency | Write Miss Very large - Latency | 39 |
| write_miss_very_large_ internal_latency | Write Miss Very large - Internal Latency | 87 |
| write_miss_very_large_ throughput | Write Miss Very large - Throughput | 40 |
| write_miss_large_iops | Write Miss Large - IOps | 41 |
| write_miss_large_latency | Write Miss Large - Latency | 42 |
| write_miss_large_internal_ latency | Write Miss Large - Internal Latency | 88 |
| write_miss_large_throughput | Write Miss Large - Throughput | 43 |
| write_miss_medium_iops | Write Miss Medium - IOps | 44 |
| write_miss_medium_latency | Write Miss Medium - Latency | 45 |
| write_miss_medium_ internal_latency | Write Miss Medium - Internal Latency | 89 |
| write_miss_medium_throughput | Write Miss Medium - Throughput | 46 |
| write_miss_small_iops | Write Miss Small - IOps | 47 |
| write_miss_small_latency | Write Miss Small - Latency | 48 |
| write_miss_small_ internal_latency | Write Miss Small - Internal Latency | 90 |
| write_miss_small_throughput | Write Miss Small - Throughput | 49 |
| read_memory_hit_very_ large_iops | Read Memory-Hit Very large - IOps | 50 |
| read_memory_hit_very_ large_latency | Read Memory-Hit Very large - Latency | 51 |
| read_memory_hit_very_ large_internal_latency | Read Memory-Hit Very large - Internal Latency | 91 |
| read_memory_hit_very_ large_throughput | Read Memory-Hit Very large - Throughput | 52 |
| read_memory_hit_very_ large_remotely_served | Read Memory-Hit Very large - Remotely Served IOs | 71 |
| read_memory_hit_large_iops | Read Memory-Hit Large - IOps | 53 |
| read_memory_hit_large_latency | Read Memory-Hit Large - Latency | 54 |
| read_memory_hit_large_ internal_latency | Read Memory-Hit Large - Internal Latency | 92 |
| read_memory_hit_large_ throughput | Read Memory-Hit Large - Throughput | 55 |
| read_memory_hit_large_ remotely_served | Read Memory-Hit Large - Remotely Served IOs | 72 |
| read_memory_hit_medium_iops | Read Memory-Hit Medium - IOps | 56 |
| read_memory_hit_medium_ latency | Read Memory-Hit Medium - Latency | 57 |
| read_memory_hit_medium_ internal_latency | Read Memory-Hit Medium - Internal Latency | 93 |
| read_memory_hit_medium_ throughput | Read Memory-Hit Medium - Throughput | 58 |
| read_memory_hit_medium_ remotely_served | Read Memory-Hit Medium - Remotely Served IOs | 73 |
| read_memory_hit_small_iops | Read Memory-Hit Small - IOps | 59 |
| read_memory_hit_small_latency | Read Memory-Hit Small - Latency | 60 |
| read_memory_hit_small_ internal_latency | Read Memory-Hit Small - Internal Latency | 94 |
| read_memory_hit_small_ throughput | Read Memory-Hit Small - Throughput | 61 |
| read_memory_hit_small_ remotely_served | Read Memory-Hit Small - Remotely Served IOs | 74 |
| time_in_seconds | Time (s) | 62 |
访问控制
| 用户类别 | 许可权 |
|---|---|
| 存储管理员 | 允许 |
| 存储集成管理员 | 不允许 |
| 应用程序管理员 | 允许 |
| 安全性管理员 | 不允许 |
| 只读用户 | 允许 |
| 技术人员 | 不允许 |
返回码
- BAD_TIME_FORMAT
时间格式错误。 应为 YYYY-MM-DD[.HH[:MM[:SS]]]。
- TARGET_PORT_BAD_ADDRESS
远程端口地址非法或者不属于远程目标。
- VOLUME_BAD_NAME
卷名称不存在。
- STATS_TOO_MANY_SAMPLES
请求的统计信息样本数过高。
- TARGET_BAD_NAME
目标名称不存在。
- COMPONENT_DOES_NOT_EXIST
组件不存在。
- HOST_BAD_NAME
主机名不存在。
- HOST_PORT_DOES_NOT_EXIST
未定义端口标识。
- IPINTERFACE_DOES_NOT_EXIST
此 IP 接口名称不存在。
- PERF_CLASS_BAD_NAME
性能类不存在。
- COMMAND_AMBIGUOUS
用户属于多个域。请指定一个域或一个对象。
- DOMAIN_DOESNT_EXIST
域不存在。