Linux|操作体系运维|磁盘性能检测之fio和iostat的开端使用 ...

打印 上一主题 下一主题

主题 765|帖子 765|积分 2295

媒介:

有的时间,我们接手一个新的服务器的时间,需要相识该服务器的磁盘性能是否可靠,比如,磁盘是否有坏道,磁盘的读写性能是否可以大概符合我们将要摆设的服务,例如数据库服务,如果该数据库是一个读写比较频繁也就是IO比较高的数据库,那么,该磁盘是否可以大概支持高IO呢?
针对以上需求,建议使用工具fio和iostat这两个工具
一、

iostat在centos7下的安装

设置update源即可
iostat工具包含在sysstat软件包中。因此,需要安装sysstat软件包来得到iostat工具。运行以下命令来安装sysstat包:
  1. [/code]
  2. [table][tr][td][/td][td][b]sudo yum install sysstat -y[/b][/td][/tr][/table]
  3. [size=2][b]常用选项[/b][/size]
  4. [list]
  5. [*][b]-d:仅表现磁盘I/O相干信息。[/b]
  6. [*][b]-k:以KB为单位表现传输速率。[/b]
  7. [*][b]-m:以MB为单位表现传输速率。[/b]
  8. [*][b]-x:表现详细的磁盘统计信息,包括传输速率、响应时间、等待时间和使用率等。[/b]
  9. [*][b]-p [磁盘]:表现指定磁盘和分区的情况。[/b]
  10. [/list]
  11. [list]
  12. [*][b]表现全部装备的负载情况[/b]:
  13. [/list] [table][tr][td][/td][td]iostat[/td][/tr][/table]
  14. [list]
  15. [*][b]每隔2秒刷新表现,且表现3次[/b]:
  16. [/list] [table][tr][td][/td][td]iostat 2 3[/td][/tr][/table]
  17. [list]
  18. [*][b]只查看磁盘状态,并以KB为单位表现传输速率[/b]:
  19. [/list] [table][tr][td][/td][td]iostat -dk[/td][/tr][/table]
  20. [list]
  21. [*][b]查看指定磁盘(如sda)的详细统计信息[/b]:
  22. [/list] [table][tr][td][/td][td]iostat -dx sda[/td][/tr][/table] [size=3]3. 解读iostat输出[/size]
  23. [b]iostat的输出包含CPU和磁盘的统计信息。以下是关于磁盘部分的重要字段及其表明:[/b]
  24. [list]
  25. [*][b]tps:每秒传输次数。[/b]
  26. [*][b]kB_read/s 和 kB_wrtn/s:每秒读和写的千字节数。[/b]
  27. [*][b]await:平均每次装备I/O操作的等待时间(毫秒)。[/b]
  28. [*][b]svctm:平均每次装备I/O操作的服务时间(毫秒)。[/b]
  29. [*][b]%util:一秒中有百分之多少的时间用于I/O操作,即被I/O斲丧的CPU百分比。[/b]
  30. [/list] [size=3][b]4. 磁盘性能分析[/b][/size]
  31. [list]
  32. [*][b]如果%util接近100%,说明产生的I/O请求太多,I/O体系已经满负荷,该磁盘可能存在瓶颈。[/b]
  33. [*][b]如果await远大于svctm,说明I/O队列太长,I/O响应太慢,可能需要举行必要优化。[/b]
  34. [*][b]如果avgqu-sz(平均I/O队列长度)比较大,也表示有大量的I/O在等待。[/b]
  35. [/list] [b]通过iostat的输出,可以辨认体系中的磁盘瓶颈和性能问题,从而采取恰当的措施来优化体系性能。[/b]
  36. [b]示例[/b]
  37. [b]1、查看磁盘sda和sdb的详细状态,使用参数-dx[/b]
  38. [code][root@centos5 ~]# lsblk
  39. NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
  40. sda               8:0    0  100G  0 disk
  41. ├─sda1            8:1    0    1G  0 part /boot
  42. └─sda2            8:2    0   80G  0 part
  43.   └─centos-root 253:0    0   80G  0 lvm  /
  44. sdb               8:16   0   20G  0 disk
  45. sr0              11:0    1  4.4G  0 rom  /mnt
  46. [root@centos5 ~]# iostat -dx sda
  47. Linux 3.10.0-1062.el7.x86_64 (centos5)         06/23/2024         _x86_64_        (4 CPU)
  48. Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
  49. sda               0.00     0.04    0.35    0.31    14.16     9.66    72.48     0.00    1.17    1.61    0.69   0.37   0.02
  50. [root@centos5 ~]# iostat -dx sdb
  51. Linux 3.10.0-1062.el7.x86_64 (centos5)         06/23/2024         _x86_64_        (4 CPU)
  52. Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
  53. sdb               0.00     0.00    0.00    0.00     0.09     0.00    54.15     0.00    0.08    0.08    0.00   0.03   0.00
复制代码
2、查看全部磁盘的性能,重要是观察tps这列,一般是tps越高越好
  1. [root@centos5 ~]# iostat
  2. Linux 3.10.0-1062.el7.x86_64 (centos5)         06/23/2024         _x86_64_        (4 CPU)
  3. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  4.            0.01    0.00    0.19    0.01    0.00   99.79
  5. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
  6. scd0              0.00         0.04         0.00       1046          0
  7. sda               0.65        14.07         9.60     398575     272060
  8. sdb               0.00         0.09         0.00       2464          0
  9. dm-0              0.62        13.74         9.53     389310     269972
复制代码
3、查看磁盘sda的io详情,这里重要关注的是uitl这一列,越低表示磁盘IO负载越低
  1. [root@centos5 ~]# iostat -dkx /dev/sda
  2. Linux 3.10.0-1062.el7.x86_64 (centos5)         06/23/2024         _x86_64_        (4 CPU)
  3. Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
  4. sda               0.00     0.04    0.34    0.31    13.96     9.54    72.35     0.00    1.17    1.61    0.68   0.37   0.02
  5. [root@centos5 ~]# iostat -dmx /dev/sda
  6. Linux 3.10.0-1062.el7.x86_64 (centos5)         06/23/2024         _x86_64_        (4 CPU)
  7. Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
  8. sda               0.00     0.04    0.34    0.31     0.01     0.01    72.35     0.00    1.17    1.61    0.68   0.37   0.02
复制代码
4、一段时间内的磁盘IO状态查询
下面是8秒内的磁盘状态,2秒一刷新,刷新四次
 
  1. [root@centos5 ~]# iostat 2 4
  2. Linux 3.10.0-1062.el7.x86_64 (centos5)         06/23/2024         _x86_64_        (4 CPU)
  3. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  4.            0.01    0.00    0.19    0.01    0.00   99.80
  5. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
  6. scd0              0.00         0.04         0.00       1046          0
  7. sda               0.64        13.72         9.39     398607     272860
  8. sdb               0.00         0.08         0.00       2464          0
  9. dm-0              0.61        13.40         9.32     389342     270772
  10. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  11.            0.00    0.00    0.00    0.00    0.00  100.00
  12. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
  13. scd0              0.00         0.00         0.00          0          0
  14. sda               0.50         0.00         6.00          0         12
  15. sdb               0.00         0.00         0.00          0          0
  16. dm-0              0.50         0.00         6.00          0         12
  17. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  18.            0.00    0.00    0.00    0.00    0.00  100.00
  19. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
  20. scd0              0.00         0.00         0.00          0          0
  21. sda               0.00         0.00         0.00          0          0
  22. sdb               0.00         0.00         0.00          0          0
  23. dm-0              0.00         0.00         0.00          0          0
  24. avg-cpu:  %user   %nice %system %iowait  %steal   %idle
  25.            0.00    0.00    0.00    0.00    0.00  100.00
  26. Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
  27. scd0              0.00         0.00         0.00          0          0
  28. sda               0.00         0.00         0.00          0          0
  29. sdb               0.00         0.00         0.00          0          0
  30. dm-0              0.00         0.00         0.00          0          0
复制代码
 
需要明确一点,这个iostat是一个可以实时查看磁盘IO负载情况的工具,没有报告生成 ,重要关注三个指标:%iowait和%util和tps
%iowait 是磁盘的读写响应等待时间,这个数值越小越好,越小表明磁盘读写速度快
%util指的是在统计的时间隔断内,磁盘装备处于非空闲状态的百分比。它表示了磁盘装备被I/O请求占用的程度。换句话说,它反映了磁盘的繁忙程度
tps是磁盘的IO吞吐率,这个数值越高越好,越高表明磁盘处理数据速度越快

二、

fio磁盘检测报告工具

FIO(Flexible I/O Tester)是一个功能强大的开源工具,重要用于测试和评估存储体系的性能。其重要功能包括以下几个方面:

  • I/O范例测试

    • 次序读/写:用于测试存储装备对连续数据的读取和写入性能,这通常用于评估存储装备的吞吐量。
    • 随机读/写:测试存储装备对随机数据访问的读取和写入性能,这通常用于评估存储装备的IOPS(每秒输入/输出操作数)。
    • 混合读/写:测试存储装备在同时举行读取和写入操作时的性能,这可以模拟实际工作负载中的混合操作。

  • 块大小调解

    • 通过改变读写操作的块大小,FIO可以测试存储装备在不同块大小下的性能。这有助于确定最佳的块大小设置。

  • 并发连接与队列深度

    • 通过同时发起多个并行连接,FIO可以测试存储装备在高并发负载下的性能,评估存储装备在多用户或多线程情况中的表现。
    • 调解请求队列的深度,测试存储装备在不同负载下的性能,评估存储装备在高负载情况下的响应能力。

  • 多种I/O引擎支持

    • FIO支持多种I/O引擎,如同步、异步、mmap等,可以模拟各种复杂的I/O场景。

  • 详细的性能指标

    • FIO的输出效果非常详细,包括每个测试使命的IOPS、带宽、耽误等性能指标,为存储装备的性能评估提供精确的数据支持。

  • 输特别式与数据生存

    • 支持将输出效果以CSV格式生存,方便后续的数据分析和可视化。

  • 设置选项丰富

    • FIO提供了许多其他设置选项,例如数据验证、文件体系范例、线程数、运行时间等,以满意不同测试需求。

  • 跨平台兼容性

    • FIO支持多种操作体系,包括Linux、FreeBSD、NetBSD、OS X、OpenSolaris、AIX、HP-UX、Windows等。

归纳起来,FIO是一款功能全面、设置灵活、跨平台的磁盘I/O性能测试工具,广泛用于标准测试、QA、验证测试等场景,资助用户精确地评估存储装备的性能,为体系的优化和升级提供有力的数据支持。
1、fio的摆设
该工具摆设比较简单,但需要多个网络源,安装过程大概如下,各位可参考:
  1. [root@centos5 ~]# yum install fio -y
  2. Loaded plugins: fastestmirror
  3. Repository 'local' is missing name in configuration, using id
  4. Loading mirror speeds from cached hostfile
  5. Resolving Dependencies
  6. --> Running transaction check
  7. ---> Package fio.x86_64 0:3.7-2.el7 will be installed
  8. --> Processing Dependency: librdmacm.so.1(RDMACM_1.0)(64bit) for package: fio-3.7-2.el7.x86_64
  9. --> Processing Dependency: libpmemblk.so.1(LIBPMEMBLK_1.0)(64bit) for package: fio-3.7-2.el7.x86_64
  10. --> Processing Dependency: libpmem.so.1(LIBPMEM_1.0)(64bit) for package: fio-3.7-2.el7.x86_64
  11. --> Processing Dependency: libibverbs.so.1(IBVERBS_1.1)(64bit) for package: fio-3.7-2.el7.x86_64
  12. --> Processing Dependency: libibverbs.so.1(IBVERBS_1.0)(64bit) for package: fio-3.7-2.el7.x86_64
  13. --> Processing Dependency: librdmacm.so.1()(64bit) for package: fio-3.7-2.el7.x86_64
  14. --> Processing Dependency: librbd.so.1()(64bit) for package: fio-3.7-2.el7.x86_64
  15. --> Processing Dependency: librados.so.2()(64bit) for package: fio-3.7-2.el7.x86_64
  16. --> Processing Dependency: libpmemblk.so.1()(64bit) for package: fio-3.7-2.el7.x86_64
  17. --> Processing Dependency: libpmem.so.1()(64bit) for package: fio-3.7-2.el7.x86_64
  18. --> Processing Dependency: libibverbs.so.1()(64bit) for package: fio-3.7-2.el7.x86_64
  19. --> Running transaction check
  20. ---> Package libibverbs.x86_64 0:22.4-6.el7_9 will be installed
  21. --> Processing Dependency: rdma-core(x86-64) = 22.4-6.el7_9 for package: libibverbs-22.4-6.el7_9.x86_64
  22. ---> Package libpmem.x86_64 0:1.5.1-2.1.el7 will be installed
  23. ---> Package libpmemblk.x86_64 0:1.5.1-2.1.el7 will be installed
  24. --> Processing Dependency: libndctl.so.6(LIBNDCTL_3)(64bit) for package: libpmemblk-1.5.1-2.1.el7.x86_64
  25. --> Processing Dependency: libndctl.so.6(LIBNDCTL_14)(64bit) for package: libpmemblk-1.5.1-2.1.el7.x86_64
  26. --> Processing Dependency: libndctl.so.6(LIBNDCTL_1)(64bit) for package: libpmemblk-1.5.1-2.1.el7.x86_64
  27. --> Processing Dependency: libdaxctl.so.1(LIBDAXCTL_2)(64bit) for package: libpmemblk-1.5.1-2.1.el7.x86_64
  28. --> Processing Dependency: libndctl.so.6()(64bit) for package: libpmemblk-1.5.1-2.1.el7.x86_64
  29. --> Processing Dependency: libdaxctl.so.1()(64bit) for package: libpmemblk-1.5.1-2.1.el7.x86_64
  30. ---> Package librados2.x86_64 1:10.2.5-4.el7 will be installed
  31. --> Processing Dependency: libboost_thread-mt.so.1.53.0()(64bit) for package: 1:librados2-10.2.5-4.el7.x86_64
  32. --> Processing Dependency: libboost_system-mt.so.1.53.0()(64bit) for package: 1:librados2-10.2.5-4.el7.x86_64
  33. --> Processing Dependency: libboost_random-mt.so.1.53.0()(64bit) for package: 1:librados2-10.2.5-4.el7.x86_64
  34. --> Processing Dependency: libboost_iostreams-mt.so.1.53.0()(64bit) for package: 1:librados2-10.2.5-4.el7.x86_64
  35. ---> Package librbd1.x86_64 1:10.2.5-4.el7 will be installed
  36. ---> Package librdmacm.x86_64 0:22.4-6.el7_9 will be installed
  37. --> Running transaction check
  38. ---> Package boost-iostreams.x86_64 0:1.53.0-28.el7 will be installed
  39. ---> Package boost-random.x86_64 0:1.53.0-28.el7 will be installed
  40. ---> Package boost-system.x86_64 0:1.53.0-28.el7 will be installed
  41. ---> Package boost-thread.x86_64 0:1.53.0-28.el7 will be installed
  42. ---> Package daxctl-libs.x86_64 0:65-6.el7_9 will be installed
  43. ---> Package ndctl-libs.x86_64 0:65-6.el7_9 will be installed
  44. ---> Package rdma-core.x86_64 0:22.4-6.el7_9 will be installed
  45. --> Finished Dependency Resolution
  46. Dependencies Resolved
  47. ==============================================================================================================================================================================================================================================================================================================================================
  48. Package                                                                              Arch                                                                        Version                                                                              Repository                                                                        Size
  49. ==============================================================================================================================================================================================================================================================================================================================================
  50. Installing:
  51. fio                                                                                  x86_64                                                                      3.7-2.el7                                                                            base_x86_64                                                                      467 k
  52. Installing for dependencies:
  53. boost-iostreams                                                                      x86_64                                                                      1.53.0-28.el7                                                                        base_x86_64                                                                       61 k
  54. boost-random                                                                         x86_64                                                                      1.53.0-28.el7                                                                        base_x86_64                                                                       39 k
  55. boost-system                                                                         x86_64                                                                      1.53.0-28.el7                                                                        base_x86_64                                                                       40 k
  56. boost-thread                                                                         x86_64                                                                      1.53.0-28.el7                                                                        base_x86_64                                                                       58 k
  57. daxctl-libs                                                                          x86_64                                                                      65-6.el7_9                                                                           updates                                                                           27 k
  58. libibverbs                                                                           x86_64                                                                      22.4-6.el7_9                                                                         updates                                                                          269 k
  59. libpmem                                                                              x86_64                                                                      1.5.1-2.1.el7                                                                        base_x86_64                                                                       59 k
  60. libpmemblk                                                                           x86_64                                                                      1.5.1-2.1.el7                                                                        base_x86_64                                                                       80 k
  61. librados2                                                                            x86_64                                                                      1:10.2.5-4.el7                                                                       base_x86_64                                                                      1.8 M
  62. librbd1                                                                              x86_64                                                                      1:10.2.5-4.el7                                                                       base_x86_64                                                                      2.4 M
  63. librdmacm                                                                            x86_64                                                                      22.4-6.el7_9                                                                         updates                                                                           64 k
  64. ndctl-libs                                                                           x86_64                                                                      65-6.el7_9                                                                           updates                                                                           65 k
  65. rdma-core                                                                            x86_64                                                                      22.4-6.el7_9                                                                         updates                                                                           51 k
  66. Transaction Summary
  67. ==============================================================================================================================================================================================================================================================================================================================================
  68. Install  1 Package (+13 Dependent packages)
  69. Total download size: 5.5 M
  70. Installed size: 16 M
  71. Downloading packages:
  72. (1/14): boost-random-1.53.0-28.el7.x86_64.rpm                                                                                                                                                                                                                                                                          |  39 kB  00:00:00     
  73. (2/14): boost-iostreams-1.53.0-28.el7.x86_64.rpm                                                                                                                                                                                                                                                                       |  61 kB  00:00:00     
  74. (3/14): boost-system-1.53.0-28.el7.x86_64.rpm                                                                                                                                                                                                                                                                          |  40 kB  00:00:00     
  75. (4/14): boost-thread-1.53.0-28.el7.x86_64.rpm                                                                                                                                                                                                                                                                          |  58 kB  00:00:00     
  76. (5/14): libpmem-1.5.1-2.1.el7.x86_64.rpm                                                                                                                                                                                                                                                                               |  59 kB  00:00:00     
  77. (6/14): daxctl-libs-65-6.el7_9.x86_64.rpm                                                                                                                                                                                                                                                                              |  27 kB  00:00:00     
  78. (7/14): libpmemblk-1.5.1-2.1.el7.x86_64.rpm                                                                                                                                                                                                                                                                            |  80 kB  00:00:00     
  79. (8/14): fio-3.7-2.el7.x86_64.rpm                                                                                                                                                                                                                                                                                       | 467 kB  00:00:00     
  80. (9/14): libibverbs-22.4-6.el7_9.x86_64.rpm                                                                                                                                                                                                                                                                             | 269 kB  00:00:00     
  81. (10/14): ndctl-libs-65-6.el7_9.x86_64.rpm                                                                                                                                                                                                                                                                              |  65 kB  00:00:00     
  82. (11/14): rdma-core-22.4-6.el7_9.x86_64.rpm                                                                                                                                                                                                                                                                             |  51 kB  00:00:00     
  83. (12/14): librdmacm-22.4-6.el7_9.x86_64.rpm                                                                                                                                                                                                                                                                             |  64 kB  00:00:00     
  84. (13/14): librados2-10.2.5-4.el7.x86_64.rpm                                                                                                                                                                                                                                                                             | 1.8 MB  00:00:00     
  85. (14/14): librbd1-10.2.5-4.el7.x86_64.rpm                                                                                                                                                                                                                                                                               | 2.4 MB  00:00:00     
  86. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  87. Total                                                                                                                                                                                                                                                                                                          25 MB/s | 5.5 MB  00:00:00     
  88. Running transaction check
  89. Running transaction test
  90. Transaction test succeeded
  91. Running transaction
  92.   Installing : boost-system-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                         1/14
  93.   Installing : boost-thread-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                         2/14
  94.   Installing : libpmem-1.5.1-2.1.el7.x86_64                                                                                                                                                                                                                                                                                              3/14
  95.   Installing : rdma-core-22.4-6.el7_9.x86_64                                                                                                                                                                                                                                                                                             4/14
  96.   Installing : libibverbs-22.4-6.el7_9.x86_64                                                                                                                                                                                                                                                                                            5/14
  97.   Installing : daxctl-libs-65-6.el7_9.x86_64                                                                                                                                                                                                                                                                                             6/14
  98.   Installing : boost-random-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                         7/14
  99.   Installing : boost-iostreams-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                      8/14
  100.   Installing : 1:librados2-10.2.5-4.el7.x86_64                                                                                                                                                                                                                                                                                           9/14
  101.   Installing : 1:librbd1-10.2.5-4.el7.x86_64                                                                                                                                                                                                                                                                                            10/14
  102.   Installing : ndctl-libs-65-6.el7_9.x86_64                                                                                                                                                                                                                                                                                             11/14
  103.   Installing : libpmemblk-1.5.1-2.1.el7.x86_64                                                                                                                                                                                                                                                                                          12/14
  104.   Installing : librdmacm-22.4-6.el7_9.x86_64                                                                                                                                                                                                                                                                                            13/14
  105.   Installing : fio-3.7-2.el7.x86_64                                                                                                                                                                                                                                                                                                     14/14
  106.   Verifying  : 1:librbd1-10.2.5-4.el7.x86_64                                                                                                                                                                                                                                                                                             1/14
  107.   Verifying  : boost-system-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                         2/14
  108.   Verifying  : fio-3.7-2.el7.x86_64                                                                                                                                                                                                                                                                                                      3/14
  109.   Verifying  : boost-iostreams-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                      4/14
  110.   Verifying  : boost-thread-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                         5/14
  111.   Verifying  : boost-random-1.53.0-28.el7.x86_64                                                                                                                                                                                                                                                                                         6/14
  112.   Verifying  : 1:librados2-10.2.5-4.el7.x86_64                                                                                                                                                                                                                                                                                           7/14
  113.   Verifying  : daxctl-libs-65-6.el7_9.x86_64                                                                                                                                                                                                                                                                                             8/14
  114.   Verifying  : libpmemblk-1.5.1-2.1.el7.x86_64                                                                                                                                                                                                                                                                                           9/14
  115.   Verifying  : libibverbs-22.4-6.el7_9.x86_64                                                                                                                                                                                                                                                                                           10/14
  116.   Verifying  : rdma-core-22.4-6.el7_9.x86_64                                                                                                                                                                                                                                                                                            11/14
  117.   Verifying  : librdmacm-22.4-6.el7_9.x86_64                                                                                                                                                                                                                                                                                            12/14
  118.   Verifying  : ndctl-libs-65-6.el7_9.x86_64                                                                                                                                                                                                                                                                                             13/14
  119.   Verifying  : libpmem-1.5.1-2.1.el7.x86_64                                                                                                                                                                                                                                                                                             14/14
  120. Installed:
  121.   fio.x86_64 0:3.7-2.el7                                                                                                                                                                                                                                                                                                                     
  122. Dependency Installed:
  123.   boost-iostreams.x86_64 0:1.53.0-28.el7        boost-random.x86_64 0:1.53.0-28.el7        boost-system.x86_64 0:1.53.0-28.el7        boost-thread.x86_64 0:1.53.0-28.el7        daxctl-libs.x86_64 0:65-6.el7_9        libibverbs.x86_64 0:22.4-6.el7_9        libpmem.x86_64 0:1.5.1-2.1.el7        libpmemblk.x86_64 0:1.5.1-2.1.el7      
  124.   librados2.x86_64 1:10.2.5-4.el7               librbd1.x86_64 1:10.2.5-4.el7              librdmacm.x86_64 0:22.4-6.el7_9            ndctl-libs.x86_64 0:65-6.el7_9             rdma-core.x86_64 0:22.4-6.el7_9      
  125. Complete!
  126. [root@centos5 ~]# rpm -qa |grep libaio
  127. libaio-0.3.109-13.el7.x86_64
复制代码
 2、
fio的使用方式
fio一般是使用设置文件,设置文件以fio为后缀,当然了,后缀名其实无所谓,但用fio会一目了然嘛
  1. [root@centos5 ~]# cat test_fio.txt
  2. [random-rw-test]
  3. rw=randrw
  4. bs=4k
  5. iodepth=10
  6. ioengine=libaio
  7. numjobs=10
  8. size=5G
  9. filename=/root/test.file
复制代码

  • 测试设置:

    • 测试范例:随机读写(randrw)
    • 块大小:4096字节,这里也就是4K对齐啦
    • I/O引擎:psync
    • I/O深度:10,当iodepth设置为10时,FIO会实验在队列中同时保持最多10个I/O请求。这些请求可能处于等待或正在处理状态,但都没有完成

  • 测试范例的种类

  • 随机读写(randrw):

    • 随机混合读写,涉及同时举行随机读取(randread)和随机写入(randwrite)操作。
    • 在fio工具中,可以使用-rw=randrw参数来设置这种测试范例。

  • 随机读(randread):

    • 仅举行随机读取操作。
    • 在fio工具中,使用-rw=randread参数设置。

  • 随机写(randwrite):

    • 仅举行随机写入操作。
    • 在fio工具中,使用-rw=randwrite参数设置。

  • 次序读(read):

    • 次序读取操作,从文件的起始位置到结束位置连续读取数据。
    • 在fio工具中,使用-rw=read参数设置。

  • 次序写(write):

    • 次序写入操作,从文件的起始位置开始连续写入数据。
    • 在fio工具中,使用-rw=write参数设置。

  • 次序混合读写(rw):

    • 同时举行次序读取和次序写入操作。
    • 这种模式虽然通常不特别指定为“次序混合读写”,但可以通过设置合适的读写比例和模式来模拟。

以上设置文件的测试项目实行,生成的报告如下:
输出的许多,但是重要关注err这里,如果这里非零,那么,表示磁盘读写遇到了错误
因为是10个线程,因此,每个线程的读写情况(也就是每个jobs)都给了一个报告总结
其次,需要关注read这一行和write这一行,是读写的IOPS,读写用时

在总结一下:

  • IOPS (每秒输入/输出操作数):

    • read: IOPS=2219 和 write: IOPS=2217:这表示测试期间每秒完成的读取和写入操作数。对于随机读写测试,这是衡量存储装备性能的一个重要指标。

  • 带宽(BW):

    • read: BW=8878KiB/s 和 write: BW=8869KiB/s:这是每秒传输的数据量。与IOPS类似,这也是一个关键的性能指标。

  • 耽误:

    • clat (nsec) 和 lat (nsec):clat 是完成时间(completion latency),即从请求开始到请求完成的时间;lat 是耽误(latency),可能包括等待时间和完成时间。留意这些值的范围、平均值和标准偏差,它们提供了关于体系响应时间的详细信息。

  • 耽误的百分位数:

    • 这部分表现了耽误的分布情况。特别是99%和99.9%的耽误值,它们可以资助辨承认能的性能瓶颈或非常值。

  • 带宽和IOPS的样本统计:

    • min、max、avg、stdev 和 samples 提供了关于测试期间带宽和IOPS的详细统计信息。留意最小值、最大值、平均值和标准偏差,它们可以资助你相识性能的稳固性和变革范围。

  • 错误(err):

    • 在这个报告中,err=0 表示没有发生错误。如果这里有非零值,那么需要进一步检查以确定问题的原因。

  • 测试参数:

    • ioengine=psync:这表示使用了同步I/O引擎。在fio中,你可以选择不同的I/O引擎来模拟不同范例的I/O工作负载。例如,libaio 通常用于模拟异步I/O。
    • iodepth=10:这是队列深度,表示同时发出的I/O请求的数目。根据你的测试目的和硬件能力,可能需要调解这个值。
    • 其他参数,如bs(块大小)和size(测试文件的大小),也可能影响测试效果。

  • 测试时间:

    • 留意测试运行的持续时间(在这个例子中是295418msec)以及是否达到了预期的测试时间或数据量。

  • 体系资源:

    • 虽然报告中没有直接给出,但在表明fio测试效果时,还需要考虑体系的其他资源(如CPU、内存和网络)的使用情况。这些资源可能成为性能瓶颈。


  1. [root@centos5 ~]# fio test_fio.txt
  2. random-rw-test: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=10
  3. ...
  4. fio-3.7
  5. Starting 10 processes
  6. random-rw-test: Laying out IO file (1 file / 5120MiB)
  7. Jobs: 10 (f=10): [m(10)][99.3%][r=86.7MiB/s,w=86.9MiB/s][r=22.2k,w=22.2k IOPS][eta 00m:02s]
  8. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6361: Sun Jun 23 12:56:22 2024
  9.    read: IOPS=2219, BW=8878KiB/s (9091kB/s)(2561MiB/295418msec)
  10.     clat (nsec): min=282, max=817925k, avg=53077.71, stdev=1939391.82
  11.      lat (nsec): min=296, max=817925k, avg=53108.61, stdev=1939392.31
  12.     clat percentiles (nsec):
  13.      |  1.00th=[     692],  5.00th=[     764], 10.00th=[     820],
  14.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1400],
  15.      | 50.00th=[   15040], 60.00th=[   23168], 70.00th=[   47360],
  16.      | 80.00th=[   57600], 90.00th=[   73216], 95.00th=[   95744],
  17.      | 99.00th=[  403456], 99.50th=[  561152], 99.90th=[  880640],
  18.      | 99.95th=[ 1908736], 99.99th=[71827456]
  19.    bw (  KiB/s): min=    7, max=24688, per=10.31%, avg=9143.45, stdev=6171.68, samples=568
  20.    iops        : min=    1, max= 6172, avg=2285.82, stdev=1542.95, samples=568
  21.   write: IOPS=2217, BW=8869KiB/s (9082kB/s)(2559MiB/295418msec)
  22.     clat (nsec): min=439, max=1912.2M, avg=397129.59, stdev=7021242.97
  23.      lat (nsec): min=463, max=1912.2M, avg=397172.29, stdev=7021245.03
  24.     clat percentiles (nsec):
  25.      |  1.00th=[     1032],  5.00th=[     1160], 10.00th=[     1288],
  26.      | 20.00th=[     1512], 30.00th=[     1784], 40.00th=[     2544],
  27.      | 50.00th=[     5216], 60.00th=[    24960], 70.00th=[    70144],
  28.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  29.      | 99.00th=[  3489792], 99.50th=[  5079040], 99.90th=[ 10158080],
  30.      | 99.95th=[ 28180480], 99.99th=[299892736]
  31.    bw (  KiB/s): min=    7, max=25120, per=10.26%, avg=9103.84, stdev=6192.87, samples=570
  32.    iops        : min=    1, max= 6280, avg=2275.91, stdev=1548.25, samples=570
  33.   lat (nsec)   : 500=0.01%, 750=1.91%, 1000=10.69%
  34.   lat (usec)   : 2=25.62%, 4=7.96%, 10=3.93%, 20=7.37%, 50=10.29%
  35.   lat (usec)   : 100=16.25%, 250=1.95%, 500=1.28%, 750=4.72%, 1000=4.43%
  36.   lat (msec)   : 2=2.76%, 4=0.40%, 10=0.37%, 20=0.02%, 50=0.01%
  37.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  38.   cpu          : usr=0.04%, sys=5.93%, ctx=1105536, majf=0, minf=40
  39.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  40.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  41.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  42.      issued rwts: total=655676,655044,0,0 short=0,0,0,0 dropped=0,0,0,0
  43.      latency   : target=0, window=0, percentile=100.00%, depth=10
  44. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6362: Sun Jun 23 12:56:22 2024
  45.    read: IOPS=2218, BW=8873KiB/s (9086kB/s)(2558MiB/295205msec)
  46.     clat (nsec): min=360, max=329418k, avg=49250.84, stdev=1479677.88
  47.      lat (nsec): min=378, max=329418k, avg=49280.13, stdev=1479678.59
  48.     clat percentiles (nsec):
  49.      |  1.00th=[     692],  5.00th=[     764], 10.00th=[     820],
  50.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1400],
  51.      | 50.00th=[   15040], 60.00th=[   23168], 70.00th=[   47360],
  52.      | 80.00th=[   57600], 90.00th=[   73216], 95.00th=[   96768],
  53.      | 99.00th=[  411648], 99.50th=[  569344], 99.90th=[  872448],
  54.      | 99.95th=[ 1548288], 99.99th=[31588352]
  55.    bw (  KiB/s): min=    7, max=27401, per=10.43%, avg=9253.19, stdev=6240.70, samples=564
  56.    iops        : min=    1, max= 6850, avg=2313.21, stdev=1560.26, samples=564
  57.   write: IOPS=2221, BW=8887KiB/s (9101kB/s)(2562MiB/295205msec)
  58.     clat (nsec): min=601, max=2037.9M, avg=400192.04, stdev=7491462.90
  59.      lat (nsec): min=643, max=2037.9M, avg=400240.13, stdev=7491525.34
  60.     clat percentiles (nsec):
  61.      |  1.00th=[     1032],  5.00th=[     1160], 10.00th=[     1288],
  62.      | 20.00th=[     1512], 30.00th=[     1784], 40.00th=[     2544],
  63.      | 50.00th=[     5088], 60.00th=[    24960], 70.00th=[    69120],
  64.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  65.      | 99.00th=[  3457024], 99.50th=[  5079040], 99.90th=[ 10158080],
  66.      | 99.95th=[ 28442624], 99.99th=[312475648]
  67.    bw (  KiB/s): min=    7, max=27457, per=10.46%, avg=9284.77, stdev=6244.89, samples=563
  68.    iops        : min=    1, max= 6864, avg=2321.11, stdev=1561.30, samples=563
  69.   lat (nsec)   : 500=0.01%, 750=1.90%, 1000=10.75%
  70.   lat (usec)   : 2=25.69%, 4=7.92%, 10=3.94%, 20=7.34%, 50=10.15%
  71.   lat (usec)   : 100=16.34%, 250=1.97%, 500=1.26%, 750=4.74%, 1000=4.43%
  72.   lat (msec)   : 2=2.75%, 4=0.40%, 10=0.37%, 20=0.02%, 50=0.01%
  73.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  74.   cpu          : usr=0.03%, sys=5.96%, ctx=1100960, majf=0, minf=39
  75.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  76.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  77.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  78.      issued rwts: total=654814,655906,0,0 short=0,0,0,0 dropped=0,0,0,0
  79.      latency   : target=0, window=0, percentile=100.00%, depth=10
  80. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6363: Sun Jun 23 12:56:22 2024
  81.    read: IOPS=2218, BW=8876KiB/s (9089kB/s)(2560MiB/295404msec)
  82.     clat (nsec): min=307, max=422401k, avg=52494.66, stdev=1781361.99
  83.      lat (nsec): min=323, max=422401k, avg=52522.72, stdev=1781362.63
  84.     clat percentiles (nsec):
  85.      |  1.00th=[     692],  5.00th=[     764], 10.00th=[     820],
  86.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1400],
  87.      | 50.00th=[   15168], 60.00th=[   23424], 70.00th=[   47872],
  88.      | 80.00th=[   57600], 90.00th=[   73216], 95.00th=[   96768],
  89.      | 99.00th=[  403456], 99.50th=[  561152], 99.90th=[  847872],
  90.      | 99.95th=[ 1417216], 99.99th=[60555264]
  91.    bw (  KiB/s): min=    7, max=24824, per=10.28%, avg=9118.65, stdev=6208.62, samples=570
  92.    iops        : min=    1, max= 6206, avg=2279.61, stdev=1552.19, samples=570
  93.   write: IOPS=2218, BW=8873KiB/s (9086kB/s)(2560MiB/295404msec)
  94.     clat (nsec): min=584, max=2006.7M, avg=397591.31, stdev=6988532.53
  95.      lat (nsec): min=606, max=2006.7M, avg=397632.89, stdev=6988535.65
  96.     clat percentiles (nsec):
  97.      |  1.00th=[     1032],  5.00th=[     1160], 10.00th=[     1288],
  98.      | 20.00th=[     1512], 30.00th=[     1784], 40.00th=[     2544],
  99.      | 50.00th=[     5024], 60.00th=[    24960], 70.00th=[    70144],
  100.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  101.      | 99.00th=[  3457024], 99.50th=[  5079040], 99.90th=[ 10420224],
  102.      | 99.95th=[ 30801920], 99.99th=[299892736]
  103.    bw (  KiB/s): min=    7, max=24640, per=10.30%, avg=9145.55, stdev=6207.50, samples=568
  104.    iops        : min=    1, max= 6160, avg=2286.34, stdev=1551.91, samples=568
  105.   lat (nsec)   : 500=0.01%, 750=1.87%, 1000=10.75%
  106.   lat (usec)   : 2=25.61%, 4=7.96%, 10=3.90%, 20=7.31%, 50=10.25%
  107.   lat (usec)   : 100=16.33%, 250=2.00%, 500=1.29%, 750=4.74%, 1000=4.41%
  108.   lat (msec)   : 2=2.75%, 4=0.40%, 10=0.36%, 20=0.02%, 50=0.01%
  109.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  110.   cpu          : usr=0.03%, sys=5.97%, ctx=1104134, majf=0, minf=37
  111.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  112.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  113.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  114.      issued rwts: total=655472,655248,0,0 short=0,0,0,0 dropped=0,0,0,0
  115.      latency   : target=0, window=0, percentile=100.00%, depth=10
  116. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6364: Sun Jun 23 12:56:22 2024
  117.    read: IOPS=2218, BW=8875KiB/s (9088kB/s)(2560MiB/295389msec)
  118.     clat (nsec): min=340, max=413983k, avg=51025.11, stdev=1620038.77
  119.      lat (nsec): min=355, max=413983k, avg=51055.60, stdev=1620039.22
  120.     clat percentiles (nsec):
  121.      |  1.00th=[     692],  5.00th=[     764], 10.00th=[     820],
  122.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1400],
  123.      | 50.00th=[   15040], 60.00th=[   23168], 70.00th=[   47360],
  124.      | 80.00th=[   57600], 90.00th=[   73216], 95.00th=[   96768],
  125.      | 99.00th=[  415744], 99.50th=[  577536], 99.90th=[  872448],
  126.      | 99.95th=[ 1466368], 99.99th=[53215232]
  127.    bw (  KiB/s): min=    7, max=24184, per=10.34%, avg=9169.75, stdev=6172.01, samples=567
  128.    iops        : min=    1, max= 6046, avg=2292.39, stdev=1543.04, samples=567
  129.   write: IOPS=2218, BW=8874KiB/s (9087kB/s)(2560MiB/295389msec)
  130.     clat (nsec): min=585, max=2007.2M, avg=398960.79, stdev=7102444.88
  131.      lat (nsec): min=651, max=2007.2M, avg=399004.26, stdev=7102450.53
  132.     clat percentiles (nsec):
  133.      |  1.00th=[     1032],  5.00th=[     1176], 10.00th=[     1288],
  134.      | 20.00th=[     1512], 30.00th=[     1784], 40.00th=[     2544],
  135.      | 50.00th=[     5216], 60.00th=[    25472], 70.00th=[    70144],
  136.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  137.      | 99.00th=[  3457024], 99.50th=[  5079040], 99.90th=[ 10289152],
  138.      | 99.95th=[ 30277632], 99.99th=[299892736]
  139.    bw (  KiB/s): min=    7, max=24096, per=10.37%, avg=9203.16, stdev=6147.91, samples=565
  140.    iops        : min=    1, max= 6024, avg=2300.74, stdev=1537.02, samples=565
  141.   lat (nsec)   : 500=0.01%, 750=1.82%, 1000=10.82%
  142.   lat (usec)   : 2=25.60%, 4=7.90%, 10=3.91%, 20=7.34%, 50=10.36%
  143.   lat (usec)   : 100=16.25%, 250=1.97%, 500=1.28%, 750=4.76%, 1000=4.42%
  144.   lat (msec)   : 2=2.74%, 4=0.41%, 10=0.36%, 20=0.02%, 50=0.01%
  145.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  146.   cpu          : usr=0.03%, sys=5.96%, ctx=1103774, majf=0, minf=38
  147.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  148.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  149.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  150.      issued rwts: total=655369,655351,0,0 short=0,0,0,0 dropped=0,0,0,0
  151.      latency   : target=0, window=0, percentile=100.00%, depth=10
  152. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6365: Sun Jun 23 12:56:22 2024
  153.    read: IOPS=2215, BW=8862KiB/s (9075kB/s)(2557MiB/295403msec)
  154.     clat (nsec): min=372, max=371577k, avg=47097.11, stdev=1325479.58
  155.      lat (nsec): min=387, max=371577k, avg=47124.44, stdev=1325480.30
  156.     clat percentiles (nsec):
  157.      |  1.00th=[     692],  5.00th=[     764], 10.00th=[     820],
  158.      | 20.00th=[     940], 30.00th=[    1064], 40.00th=[    1400],
  159.      | 50.00th=[   15040], 60.00th=[   23424], 70.00th=[   46848],
  160.      | 80.00th=[   57088], 90.00th=[   73216], 95.00th=[   96768],
  161.      | 99.00th=[  411648], 99.50th=[  569344], 99.90th=[  856064],
  162.      | 99.95th=[ 1368064], 99.99th=[30277632]
  163.    bw (  KiB/s): min=    7, max=23296, per=10.36%, avg=9190.93, stdev=6182.41, samples=565
  164.    iops        : min=    1, max= 5824, avg=2297.58, stdev=1545.73, samples=565
  165.   write: IOPS=2221, BW=8886KiB/s (9099kB/s)(2563MiB/295403msec)
  166.     clat (nsec): min=678, max=1861.6M, avg=402442.21, stdev=7122063.50
  167.      lat (nsec): min=698, max=1861.6M, avg=402482.83, stdev=7122069.27
  168.     clat percentiles (nsec):
  169.      |  1.00th=[     1032],  5.00th=[     1176], 10.00th=[     1288],
  170.      | 20.00th=[     1512], 30.00th=[     1800], 40.00th=[     2544],
  171.      | 50.00th=[     5152], 60.00th=[    25216], 70.00th=[    70144],
  172.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  173.      | 99.00th=[  3457024], 99.50th=[  5079040], 99.90th=[ 10551296],
  174.      | 99.95th=[ 32374784], 99.99th=[312475648]
  175.    bw (  KiB/s): min=    6, max=23800, per=10.31%, avg=9149.29, stdev=6232.14, samples=569
  176.    iops        : min=    1, max= 5950, avg=2287.17, stdev=1558.16, samples=569
  177.   lat (nsec)   : 500=0.01%, 750=1.85%, 1000=10.86%
  178.   lat (usec)   : 2=25.47%, 4=7.99%, 10=3.93%, 20=7.34%, 50=10.54%
  179.   lat (usec)   : 100=16.00%, 250=1.99%, 500=1.28%, 750=4.74%, 1000=4.44%
  180.   lat (msec)   : 2=2.75%, 4=0.41%, 10=0.36%, 20=0.02%, 50=0.01%
  181.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  182.   cpu          : usr=0.03%, sys=5.99%, ctx=1103436, majf=0, minf=36
  183.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  184.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  185.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  186.      issued rwts: total=654489,656231,0,0 short=0,0,0,0 dropped=0,0,0,0
  187.      latency   : target=0, window=0, percentile=100.00%, depth=10
  188. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6366: Sun Jun 23 12:56:22 2024
  189.    read: IOPS=2217, BW=8870KiB/s (9083kB/s)(2559MiB/295423msec)
  190.     clat (nsec): min=346, max=311204k, avg=48984.44, stdev=1478448.08
  191.      lat (nsec): min=363, max=311204k, avg=49015.08, stdev=1478448.85
  192.     clat percentiles (nsec):
  193.      |  1.00th=[     692],  5.00th=[     764], 10.00th=[     820],
  194.      | 20.00th=[     932], 30.00th=[    1064], 40.00th=[    1368],
  195.      | 50.00th=[   14784], 60.00th=[   22656], 70.00th=[   46848],
  196.      | 80.00th=[   57088], 90.00th=[   73216], 95.00th=[   96768],
  197.      | 99.00th=[  407552], 99.50th=[  561152], 99.90th=[  864256],
  198.      | 99.95th=[ 1531904], 99.99th=[32112640]
  199.    bw (  KiB/s): min=    7, max=25480, per=10.26%, avg=9105.49, stdev=6220.42, samples=570
  200.    iops        : min=    1, max= 6370, avg=2276.29, stdev=1555.18, samples=570
  201.   write: IOPS=2219, BW=8877KiB/s (9090kB/s)(2561MiB/295423msec)
  202.     clat (nsec): min=660, max=2005.7M, avg=400898.48, stdev=7307794.53
  203.      lat (nsec): min=714, max=2005.7M, avg=400940.84, stdev=7307796.73
  204.     clat percentiles (nsec):
  205.      |  1.00th=[     1032],  5.00th=[     1160], 10.00th=[     1288],
  206.      | 20.00th=[     1512], 30.00th=[     1784], 40.00th=[     2544],
  207.      | 50.00th=[     5152], 60.00th=[    25472], 70.00th=[    70144],
  208.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  209.      | 99.00th=[  3489792], 99.50th=[  5013504], 99.90th=[ 10420224],
  210.      | 99.95th=[ 30801920], 99.99th=[320864256]
  211.    bw (  KiB/s): min=    7, max=25208, per=10.34%, avg=9180.43, stdev=6222.49, samples=566
  212.    iops        : min=    1, max= 6302, avg=2295.04, stdev=1555.69, samples=566
  213.   lat (nsec)   : 500=0.01%, 750=1.88%, 1000=11.01%
  214.   lat (usec)   : 2=25.48%, 4=7.92%, 10=3.94%, 20=7.34%, 50=10.36%
  215.   lat (usec)   : 100=16.05%, 250=1.99%, 500=1.29%, 750=4.72%, 1000=4.43%
  216.   lat (msec)   : 2=2.76%, 4=0.40%, 10=0.37%, 20=0.02%, 50=0.01%
  217.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  218.   cpu          : usr=0.04%, sys=6.00%, ctx=1100892, majf=0, minf=39
  219.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  220.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  221.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  222.      issued rwts: total=655078,655642,0,0 short=0,0,0,0 dropped=0,0,0,0
  223.      latency   : target=0, window=0, percentile=100.00%, depth=10
  224. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6367: Sun Jun 23 12:56:22 2024
  225.    read: IOPS=2220, BW=8880KiB/s (9093kB/s)(2561MiB/295340msec)
  226.     clat (nsec): min=351, max=372771k, avg=52229.23, stdev=1616711.81
  227.      lat (nsec): min=366, max=372771k, avg=52262.22, stdev=1616755.58
  228.     clat percentiles (nsec):
  229.      |  1.00th=[     700],  5.00th=[     772], 10.00th=[     820],
  230.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1416],
  231.      | 50.00th=[   15168], 60.00th=[   23424], 70.00th=[   47360],
  232.      | 80.00th=[   57600], 90.00th=[   73216], 95.00th=[   95744],
  233.      | 99.00th=[  415744], 99.50th=[  577536], 99.90th=[  897024],
  234.      | 99.95th=[ 1531904], 99.99th=[61603840]
  235.    bw (  KiB/s): min=    6, max=24640, per=10.26%, avg=9099.50, stdev=6245.30, samples=573
  236.    iops        : min=    1, max= 6160, avg=2274.76, stdev=1561.44, samples=573
  237.   write: IOPS=2217, BW=8872KiB/s (9085kB/s)(2559MiB/295340msec)
  238.     clat (nsec): min=472, max=1860.3M, avg=397843.00, stdev=7032490.44
  239.      lat (nsec): min=510, max=1860.3M, avg=397885.49, stdev=7032493.49
  240.     clat percentiles (nsec):
  241.      |  1.00th=[     1048],  5.00th=[     1176], 10.00th=[     1288],
  242.      | 20.00th=[     1528], 30.00th=[     1784], 40.00th=[     2544],
  243.      | 50.00th=[     5152], 60.00th=[    25216], 70.00th=[    70144],
  244.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  245.      | 99.00th=[  3457024], 99.50th=[  5013504], 99.90th=[ 10289152],
  246.      | 99.95th=[ 31064064], 99.99th=[308281344]
  247.    bw (  KiB/s): min=    6, max=24048, per=10.28%, avg=9122.06, stdev=6229.80, samples=571
  248.    iops        : min=    1, max= 6012, avg=2280.40, stdev=1557.57, samples=571
  249.   lat (nsec)   : 500=0.01%, 750=1.77%, 1000=10.85%
  250.   lat (usec)   : 2=25.55%, 4=7.94%, 10=3.94%, 20=7.34%, 50=10.31%
  251.   lat (usec)   : 100=16.33%, 250=1.96%, 500=1.26%, 750=4.75%, 1000=4.44%
  252.   lat (msec)   : 2=2.75%, 4=0.40%, 10=0.36%, 20=0.02%, 50=0.01%
  253.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  254.   cpu          : usr=0.03%, sys=5.93%, ctx=1103446, majf=0, minf=39
  255.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  256.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  257.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  258.      issued rwts: total=655675,655045,0,0 short=0,0,0,0 dropped=0,0,0,0
  259.      latency   : target=0, window=0, percentile=100.00%, depth=10
  260. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6368: Sun Jun 23 12:56:22 2024
  261.    read: IOPS=2217, BW=8870KiB/s (9083kB/s)(2558MiB/295328msec)
  262.     clat (nsec): min=346, max=1860.3M, avg=53776.95, stdev=2863271.52
  263.      lat (nsec): min=368, max=1860.3M, avg=53805.74, stdev=2863271.89
  264.     clat percentiles (nsec):
  265.      |  1.00th=[     700],  5.00th=[     772], 10.00th=[     820],
  266.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1416],
  267.      | 50.00th=[   15168], 60.00th=[   23424], 70.00th=[   47872],
  268.      | 80.00th=[   57600], 90.00th=[   73216], 95.00th=[   96768],
  269.      | 99.00th=[  407552], 99.50th=[  561152], 99.90th=[  839680],
  270.      | 99.95th=[ 1466368], 99.99th=[30801920]
  271.    bw (  KiB/s): min=    6, max=26280, per=10.30%, avg=9138.30, stdev=6238.09, samples=570
  272.    iops        : min=    1, max= 6570, avg=2284.44, stdev=1559.63, samples=570
  273.   write: IOPS=2220, BW=8883KiB/s (9096kB/s)(2562MiB/295328msec)
  274.     clat (nsec): min=586, max=1362.6M, avg=395907.51, stdev=6520932.99
  275.      lat (nsec): min=609, max=1362.6M, avg=395948.10, stdev=6520935.12
  276.     clat percentiles (nsec):
  277.      |  1.00th=[     1048],  5.00th=[     1176], 10.00th=[     1288],
  278.      | 20.00th=[     1512], 30.00th=[     1784], 40.00th=[     2544],
  279.      | 50.00th=[     5088], 60.00th=[    24960], 70.00th=[    70144],
  280.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  281.      | 99.00th=[  3489792], 99.50th=[  5079040], 99.90th=[ 10420224],
  282.      | 99.95th=[ 31588352], 99.99th=[329252864]
  283.    bw (  KiB/s): min=    7, max=26112, per=10.38%, avg=9215.91, stdev=6223.75, samples=566
  284.    iops        : min=    1, max= 6528, avg=2303.84, stdev=1556.04, samples=566
  285.   lat (nsec)   : 500=0.01%, 750=1.77%, 1000=10.68%
  286.   lat (usec)   : 2=25.77%, 4=7.96%, 10=3.92%, 20=7.33%, 50=10.25%
  287.   lat (usec)   : 100=16.33%, 250=1.98%, 500=1.28%, 750=4.74%, 1000=4.42%
  288.   lat (msec)   : 2=2.75%, 4=0.40%, 10=0.37%, 20=0.02%, 50=0.01%
  289.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  290.   cpu          : usr=0.04%, sys=5.93%, ctx=1103120, majf=0, minf=38
  291.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  292.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  293.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  294.      issued rwts: total=654907,655813,0,0 short=0,0,0,0 dropped=0,0,0,0
  295.      latency   : target=0, window=0, percentile=100.00%, depth=10
  296. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6369: Sun Jun 23 12:56:22 2024
  297.    read: IOPS=2216, BW=8865KiB/s (9078kB/s)(2558MiB/295424msec)
  298.     clat (nsec): min=312, max=458061k, avg=48869.63, stdev=1521849.86
  299.      lat (nsec): min=329, max=458061k, avg=48901.31, stdev=1521852.24
  300.     clat percentiles (nsec):
  301.      |  1.00th=[     692],  5.00th=[     772], 10.00th=[     820],
  302.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1400],
  303.      | 50.00th=[   14912], 60.00th=[   22912], 70.00th=[   46848],
  304.      | 80.00th=[   57088], 90.00th=[   73216], 95.00th=[   96768],
  305.      | 99.00th=[  407552], 99.50th=[  561152], 99.90th=[  831488],
  306.      | 99.95th=[ 1531904], 99.99th=[28704768]
  307.    bw (  KiB/s): min=    7, max=24360, per=10.24%, avg=9082.80, stdev=6209.80, samples=571
  308.    iops        : min=    1, max= 6090, avg=2270.62, stdev=1552.52, samples=571
  309.   write: IOPS=2220, BW=8882KiB/s (9095kB/s)(2562MiB/295424msec)
  310.     clat (nsec): min=548, max=2007.2M, avg=400839.69, stdev=7013168.15
  311.      lat (nsec): min=570, max=2007.2M, avg=400881.57, stdev=7013171.21
  312.     clat percentiles (nsec):
  313.      |  1.00th=[     1032],  5.00th=[     1176], 10.00th=[     1288],
  314.      | 20.00th=[     1528], 30.00th=[     1800], 40.00th=[     2576],
  315.      | 50.00th=[     5152], 60.00th=[    25728], 70.00th=[    70144],
  316.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  317.      | 99.00th=[  3457024], 99.50th=[  5079040], 99.90th=[ 10420224],
  318.      | 99.95th=[ 30801920], 99.99th=[329252864]
  319.    bw (  KiB/s): min=    7, max=24000, per=10.27%, avg=9116.81, stdev=6218.26, samples=570
  320.    iops        : min=    1, max= 6000, avg=2279.13, stdev=1554.63, samples=570
  321.   lat (nsec)   : 500=0.01%, 750=1.78%, 1000=10.74%
  322.   lat (usec)   : 2=25.69%, 4=8.01%, 10=3.95%, 20=7.34%, 50=10.31%
  323.   lat (usec)   : 100=16.11%, 250=2.02%, 500=1.30%, 750=4.73%, 1000=4.44%
  324.   lat (msec)   : 2=2.74%, 4=0.40%, 10=0.37%, 20=0.02%, 50=0.01%
  325.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  326.   cpu          : usr=0.03%, sys=6.01%, ctx=1100486, majf=0, minf=37
  327.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  328.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  329.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  330.      issued rwts: total=654731,655989,0,0 short=0,0,0,0 dropped=0,0,0,0
  331.      latency   : target=0, window=0, percentile=100.00%, depth=10
  332. random-rw-test: (groupid=0, jobs=1): err= 0: pid=6370: Sun Jun 23 12:56:22 2024
  333.    read: IOPS=2219, BW=8878KiB/s (9091kB/s)(2561MiB/295338msec)
  334.     clat (nsec): min=391, max=449165k, avg=47668.55, stdev=1502799.64
  335.      lat (nsec): min=405, max=449165k, avg=47698.87, stdev=1502800.28
  336.     clat percentiles (nsec):
  337.      |  1.00th=[     700],  5.00th=[     772], 10.00th=[     820],
  338.      | 20.00th=[     940], 30.00th=[    1080], 40.00th=[    1400],
  339.      | 50.00th=[   15040], 60.00th=[   23168], 70.00th=[   47360],
  340.      | 80.00th=[   57600], 90.00th=[   73216], 95.00th=[   96768],
  341.      | 99.00th=[  415744], 99.50th=[  577536], 99.90th=[  839680],
  342.      | 99.95th=[ 1400832], 99.99th=[10158080]
  343.    bw (  KiB/s): min=    7, max=25632, per=10.27%, avg=9113.87, stdev=6256.22, samples=572
  344.    iops        : min=    1, max= 6408, avg=2278.43, stdev=1564.08, samples=572
  345.   write: IOPS=2218, BW=8874KiB/s (9087kB/s)(2559MiB/295338msec)
  346.     clat (nsec): min=535, max=2037.1M, avg=402320.10, stdev=7199187.94
  347.      lat (nsec): min=561, max=2037.1M, avg=402364.23, stdev=7199191.28
  348.     clat percentiles (nsec):
  349.      |  1.00th=[     1032],  5.00th=[     1176], 10.00th=[     1288],
  350.      | 20.00th=[     1512], 30.00th=[     1784], 40.00th=[     2544],
  351.      | 50.00th=[     5152], 60.00th=[    25216], 70.00th=[    70144],
  352.      | 80.00th=[   659456], 90.00th=[   897024], 95.00th=[  1122304],
  353.      | 99.00th=[  3457024], 99.50th=[  5079040], 99.90th=[ 10420224],
  354.      | 99.95th=[ 31064064], 99.99th=[333447168]
  355.    bw (  KiB/s): min=    7, max=25512, per=10.24%, avg=9091.74, stdev=6264.44, samples=573
  356.    iops        : min=    1, max= 6378, avg=2272.90, stdev=1566.13, samples=573
  357.   lat (nsec)   : 500=0.01%, 750=1.77%, 1000=10.80%
  358.   lat (usec)   : 2=25.70%, 4=7.94%, 10=3.94%, 20=7.28%, 50=10.30%
  359.   lat (usec)   : 100=16.24%, 250=1.99%, 500=1.29%, 750=4.74%, 1000=4.43%
  360.   lat (msec)   : 2=2.75%, 4=0.41%, 10=0.36%, 20=0.02%, 50=0.01%
  361.   lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
  362.   cpu          : usr=0.04%, sys=5.97%, ctx=1102804, majf=0, minf=38
  363.   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
  364.      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  365.      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
  366.      issued rwts: total=655521,655199,0,0 short=0,0,0,0 dropped=0,0,0,0
  367.      latency   : target=0, window=0, percentile=100.00%, depth=10
  368. Run status group 0 (all jobs):
  369.    READ: bw=86.6MiB/s (90.8MB/s), 8862KiB/s-8880KiB/s (9075kB/s-9093kB/s), io=24.0GiB (26.8GB), run=295205-295424msec
  370.   WRITE: bw=86.7MiB/s (90.9MB/s), 8869KiB/s-8887KiB/s (9082kB/s-9101kB/s), io=25.0GiB (26.9GB), run=295205-295424msec
  371. Disk stats (read/write):
  372.     dm-0: ios=2234623/5030599, merge=0/0, ticks=287034/18529581, in_queue=18819425, util=79.96%, aggrios=2237019/5030577, aggrmerge=3/22, aggrticks=287782/18406978, aggrin_queue=18694777, aggrutil=79.80%
  373.   sda: ios=2237019/5030577, merge=3/22, ticks=287782/18406978, in_queue=18694777, util=79.80%
复制代码
fio的引擎问题


  • sync:同步I/O引擎,每个I/O操作都会等待前一个I/O操作完成后再举行。
  • mmap:使用内存映射文件举行I/O操作。
  • libaio:Linux的异步I/O(AIO)接口,用于异步提交I/O请求。
  • posixaio:POSIX标准的异步I/O接口。
  • SG v3:SCSI通用(SG)接口的第3版,用于与SCSI装备通讯。
  • splice:Linux的splice体系调用,用于在两个文件描述符之间移动数据。
  • null:一个不实行任何I/O操作的引擎,重要用于基准测试或模拟。
  • network:用于通过网络举行I/O的引擎。
  • syslet:这是fio的一个实验性特性,用于在Linux上实行体系调用。
  • guasi:这是一个错误或特定于某个版本的fio的引擎名称,通常不是fio的标准引擎之一。
  • solarisaio:针对Solaris操作体系的异步I/O引擎。
查询操作体系使用的是哪种IO磁盘调度器,本例是deadline
磁盘调度器(例如Linux下的cfq、deadline、noop等),Linux提供了几种不同的磁盘调度算法,包括CFQ(完全公平队列),Deadline(停止时间),和NOOP(电梯式)等。对于数据库服务器,通常推荐使用Deadline或NOOP,尤其是当使用SSD时

  1. [root@centos5 ~]# cat /sys/block/sda/queue/scheduler
  2. noop [deadline] cfq
复制代码


  • 永久更改调度器编辑GRUB设置文件(如/etc/default/grub),在GRUB_CMDLINE_LINUX_DEFAULT添加磁盘调度器参数,例如:
    1. [/code] [code][root@centos5 ~]# cat /etc/default/
    2. grub     nss      useradd  
    3. [root@centos5 ~]# cat /etc/default/grub
    4. GRUB_TIMEOUT=5
    5. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    6. GRUB_DEFAULT=saved
    7. GRUB_DISABLE_SUBMENU=true
    8. GRUB_TERMINAL_OUTPUT="console"
    9. GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rhgb  elevator=noop quiet splash"
    10. GRUB_DISABLE_RECOVERY="true"
    复制代码
    然后运行以下命令并重启体系,此命令会根据/etc/default/grub和其他GRUB设置文件生成一个新的GRUB设置文件,并生存到指定路径。
    1. grub2-mkconfig -o /boot/grub2/grub.cfg
    复制代码
    在重申一次,设置文件可以按需设置测试选项,上面的设置文件是一个比较全的,可调解IO引擎,读写次序,bs,iodepth,size这些选项
  • 例如磁盘的次序读写性能,使用IO引擎为mmap,那么设置文件如下:
  1. [root@centos5 ~]# cat test_fio.txt
  2. [random-rw-test]
  3. rw=rw
  4. bs=4k
  5. iodepth=10
  6. ioengine=mmap
  7. numjobs=10
  8. size=5G
  9. filename=/root/test.file
复制代码
实际测试的时间,会发现次序读写速度黑白常快的,比随机读写也就是randrw快许多
统共引擎有这么些,常用的是sync,libaio,psync,postixaio:
  1. [root@centos5 ~]# fio --enghelp  cmd
  2. Available IO engines:
  3.         cpuio
  4.         mmap
  5.         sync
  6.         psync
  7.         vsync
  8.         pvsync
  9.         pvsync2
  10.         null
  11.         net
  12.         netsplice
  13.         ftruncate
  14.         filecreate
  15.         libaio
  16.         rdma
  17.         posixaio
  18.         falloc
  19.         e4defrag
  20.         splice
  21.         rados
  22.         rbd
  23.         mtd
  24.         pmemblk
  25.         dev-dax
  26.         libpmem
  27.         sg
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表