SSD 写入 IOPS 较低(~100)

SSD 写入 IOPS 较低(~100)

我的服务器中的 SSD 的 IOPS 非常低。我在运行 mysql 数据库服务器时注意到了这一点,当 InnoDB 数据库有大量更新(每秒约 100 次)时,它的性能非常差。

以下是服务器规格:

SSD:型号=三星 SSD 850 EVO 120GB,FwRev=EMT01B6Q

服务器:HP proliant DL320e Gen8

CPU:英特尔(R)至强(R)CPU E3-1270 v3 @ 3.50GHz

操作系统:Ubuntu 14.04.1 LTS

内核:Linux h119 3.13.0-44-generic #73-Ubuntu SMP 2014 年 12 月 16 日星期二 00:22:43 UTC x86_64 x86_64 x86_64 GNU/Linux

在检查 SSD 时,如果上面有一些负载,我就会得到以下结果iostat -kx 1 20

root@h119:~# iostat -kx 1 20
Linux 3.13.0-44-generic (h119)  02/19/2015      _x86_64_        (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.14    0.00    0.08    1.06    0.00   98.72

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               5.14    14.75    0.80   17.68   378.51   258.59    68.94     0.22   12.03    1.76   12.50   7.90  14.60
sdb               0.00    19.89    0.00   18.44     0.05   636.16    68.99     0.26   14.32    0.43   14.33   8.22  15.17
md2               0.00     0.00    0.04   31.40     0.97   257.88    16.46     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     7.93     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.00    0.00    0.63    1.00    0.00   97.37

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    21.00    0.00   18.00     0.00   346.00    38.44     0.19   10.44    0.00   10.44   7.78  14.00
sdb               0.00    21.00    0.00   18.00     0.00   346.00    38.44     0.18   10.00    0.00   10.00   7.33  13.20
md2               0.00     0.00    0.00   36.00     0.00   356.00    19.78     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.25    0.00    0.75    1.50    0.00   96.50

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    19.00    0.00   19.00     0.00   218.00    22.95     0.20    9.47    0.00    9.47   9.89  18.80
sdb               0.00    19.00    0.00   19.00     0.00   218.00    22.95     0.20    9.68    0.00    9.68  10.11  19.20
md2               0.00     0.00    0.00   37.00     0.00   236.00    12.76     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.75    0.00    1.12    1.37    0.00   95.76

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    19.80    0.00   16.83     0.00   291.09    34.59     0.19    9.88    0.00    9.88   9.18  15.45
sdb               0.00    19.80    0.00   16.83     0.00   291.09    34.59     0.19    9.88    0.00    9.88   9.18  15.45
md2               0.00     0.00    0.00   35.64     0.00   336.63    18.89     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.00    0.00    0.75    1.00    0.00   97.25

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    18.00    0.00   22.00     0.00   310.00    28.18     0.16    8.91    0.00    8.91   6.36  14.00
sdb               0.00    18.00    0.00   22.00     0.00   310.00    28.18     0.16    9.09    0.00    9.09   6.55  14.40
md2               0.00     0.00    0.00   32.00     0.00   228.00    14.25     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.75    0.00    0.75    1.00    0.00   97.50

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    10.00    0.00   13.00     0.00   142.00    21.85     0.13    9.85    0.00    9.85   9.85  12.80
sdb               0.00    10.00    0.00   13.00     0.00   142.00    21.85     0.12    9.54    0.00    9.54   9.54  12.40
md2               0.00     0.00    0.00   19.00     0.00   140.00    14.74     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.26    0.00    0.88    1.26    0.00   96.61

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    34.00    0.00   12.00     0.00   333.00    55.50     0.12   10.00    0.00   10.00  10.33  12.40
sdb               0.00    34.00    0.00   12.00     0.00   333.00    55.50     0.12   10.00    0.00   10.00  10.33  12.40
md2               0.00     0.00    0.00   45.00     0.00   352.00    15.64     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.37    0.00    0.87    1.50    0.00   96.26

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    17.00    0.00   28.00     0.00   713.00    50.93     0.28   10.00    0.00   10.00   5.86  16.40
sdb               0.00    17.00    0.00   28.00     0.00   713.00    50.93     0.27    9.86    0.00    9.86   5.71  16.00
md2               0.00     0.00    0.00   43.00     0.00   692.00    32.19     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.50    0.00    0.75    1.38    0.00   96.37

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    35.00    0.00   20.00     0.00   361.00    36.10     0.18    9.20    0.00    9.20   8.00  16.00
sdb               0.00    35.00    0.00   20.00     0.00   361.00    36.10     0.18    9.20    0.00    9.20   8.00  16.00
md2               0.00     0.00    0.00   53.00     0.00   360.00    13.58     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.25    0.00    1.12    1.12    0.00   96.50

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    20.00    0.00   11.00     0.00   193.00    35.09     0.11    9.82    0.00    9.82   9.82  10.80
sdb               0.00    20.00    0.00   11.00     0.00   193.00    35.09     0.11   10.18    0.00   10.18  10.18  11.20
md2               0.00     0.00    0.00   29.00     0.00   192.00    13.24     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.00    0.00    0.50    0.62    0.00   97.88

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    12.00    0.00    9.00     0.00   137.00    30.44     0.09    9.78    0.00    9.78   8.44   7.60
sdb               0.00    12.00    0.00    9.00     0.00   137.00    30.44     0.09   10.22    0.00   10.22   8.89   8.00
md2               0.00     0.00    0.00   19.00     0.00   136.00    14.32     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.13    0.00    0.63    0.63    0.00   97.62

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    15.00    0.00    8.00     0.00   181.00    45.25     0.08   10.00    0.00   10.00  10.00   8.00
sdb               0.00    15.00    0.00    8.00     0.00   181.00    45.25     0.07    9.00    0.00    9.00   9.00   7.20
md2               0.00     0.00    0.00   25.00     0.00   244.00    19.52     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.88    0.00    0.63    0.88    0.00   97.60

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    28.00    0.00   15.00     0.00   301.00    40.13     0.14    9.33    0.00    9.33   6.93  10.40
sdb               0.00    28.00    0.00   15.00     0.00   301.00    40.13     0.14    9.33    0.00    9.33   6.93  10.40
md2               0.00     0.00    0.00   38.00     0.00   236.00    12.42     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.75    0.00    1.25    0.50    0.00   97.50

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    15.00    0.00    7.00     0.00   177.00    50.57     0.08    9.71    0.00    9.71  10.86   7.60
sdb               0.00    15.00    0.00    7.00     0.00   177.00    50.57     0.07    9.14    0.00    9.14  10.29   7.20
md2               0.00     0.00    0.00   22.00     0.00   188.00    17.09     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.76    0.00    0.38    1.13    0.00   97.73

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    17.00    0.00   17.00     0.00   205.00    24.12     0.16    9.65    0.00    9.65   7.06  12.00
sdb               0.00    17.00    0.00   17.00     0.00   205.00    24.12     0.16    9.65    0.00    9.65   7.06  12.00
md2               0.00     0.00    0.00   33.00     0.00   196.00    11.88     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.38    0.00    0.63    0.88    0.00   97.11

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    19.00    0.00   11.00     0.00   245.00    44.55     0.10    9.45    0.00    9.45   9.45  10.40
sdb               0.00    19.00    0.00   11.00     0.00   245.00    44.55     0.10    9.45    0.00    9.45   9.45  10.40
md2               0.00     0.00    0.00   28.00     0.00   244.00    17.43     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.76    0.00    0.50    1.39    0.00   97.35

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    28.00    0.00   20.00     0.00   305.00    30.50     0.19    9.40    0.00    9.40   8.60  17.20
sdb               0.00    28.00    0.00   20.00     0.00   305.00    30.50     0.19    9.40    0.00    9.40   8.60  17.20
md2               0.00     0.00    0.00   47.00     0.00   304.00    12.94     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.01    0.00    0.63    1.13    0.00   97.23

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    28.00    0.00   16.00     0.00   357.00    44.62     0.15    9.75    0.00    9.75   8.50  13.60
sdb               0.00    28.00    0.00   16.00     0.00   357.00    44.62     0.15    9.50    0.00    9.50   8.25  13.20
md2               0.00     0.00    0.00   44.00     0.00   356.00    16.18     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.13    0.00    0.75    1.50    0.00   96.62

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    19.00    0.00   22.00     0.00   297.00    27.00     0.19    8.91    0.00    8.91   5.82  12.80
sdb               0.00    19.00    0.00   22.00     0.00   297.00    27.00     0.22   10.36    0.00   10.36   6.36  14.00
md2               0.00     0.00    0.00   40.00     0.00   296.00    14.80     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.13    0.00    0.75    1.13    0.00   96.99

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    23.00    0.00   18.00     0.00   313.00    34.78     0.19   10.22    0.00   10.22   7.78  14.00
sdb               0.00    23.00    0.00   18.00     0.00   313.00    34.78     0.19   10.22    0.00   10.22   7.78  14.00
md2               0.00     0.00    0.00   39.00     0.00   312.00    16.00     0.00    0.00    0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

结果是fio --rw=write --name=test --size=20M --direct=1

root@h119:~# fio --rw=write --name=test --size=20M --direct=1
test: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
fio-2.1.3
Starting 1 process
test: Laying out IO file(s) (1 file(s) / 20MB)
Jobs: 1 (f=1): [W] [100.0% done] [0KB/404KB/0KB /s] [0/101/0 iops] [eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=11288: Sat Feb 21 19:59:52 2015
  write: io=20480KB, bw=415022B/s, iops=101, runt= 50531msec
    clat (usec): min=9674, max=21523, avg=9867.58, stdev=615.15
     lat (usec): min=9675, max=21524, avg=9867.76, stdev=615.16
    clat percentiles (usec):
     |  1.00th=[ 9792],  5.00th=[ 9792], 10.00th=[ 9792], 20.00th=[ 9792],
     | 30.00th=[ 9792], 40.00th=[ 9792], 50.00th=[ 9792], 60.00th=[ 9792],
     | 70.00th=[ 9792], 80.00th=[ 9792], 90.00th=[ 9920], 95.00th=[10048],
     | 99.00th=[12480], 99.50th=[12864], 99.90th=[18304], 99.95th=[18560],
     | 99.99th=[21632]
    bw (KB  /s): min=  380, max=  411, per=100.00%, avg=405.33, stdev= 5.11
    lat (msec) : 10=90.66%, 20=9.32%, 50=0.02%
  cpu          : usr=0.03%, sys=0.19%, ctx=5138, majf=0, minf=26
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=5120/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=20480KB, aggrb=405KB/s, minb=405KB/s, maxb=405KB/s, mint=50531msec, maxt=50531msec

Disk stats (read/write):
    md2: ios=0/5580, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=0/5379, aggrmerge=0/191, aggrticks=0/52640, aggrin_queue=52640, aggrutil=99.00%
  sda: ios=0/5379, merge=0/191, ticks=0/52508, in_queue=52508, util=98.63%
  sdb: ios=0/5379, merge=0/191, ticks=0/52772, in_queue=52772, util=99.00%

如您所见,IOPS 为 101,我只能写入 404kB/秒。此外,工具运行时 IOPS 波动不大,始终在 101 和 103 之间。

我也相信 fio 的结果,因为我的数据库在每秒达到大约 100 次更新/插入时就会变慢。

使用相同的服务器(硬件和软件)并且没有 RAID,我得到完全相同的结果,因此这不可能是由于软件 RAID 造成的:

root@h073:~# fio --rw=write --name=test --size=20M --direct=1
test: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
fio-2.1.3
Starting 1 process
Jobs: 1 (f=1): [W] [100.0% done] [0KB/408KB/0KB /s] [0/102/0 iops] [eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=15147: Sat Feb 21 20:52:14 2015
  write: io=20480KB, bw=418492B/s, iops=102, runt= 50112msec
    clat (usec): min=1504, max=17337, avg=9785.74, stdev=417.14
     lat (usec): min=1504, max=17337, avg=9785.93, stdev=417.13
    clat percentiles (usec):
     |  1.00th=[ 9792],  5.00th=[ 9792], 10.00th=[ 9792], 20.00th=[ 9792],
     | 30.00th=[ 9792], 40.00th=[ 9792], 50.00th=[ 9792], 60.00th=[ 9792],
     | 70.00th=[ 9792], 80.00th=[ 9792], 90.00th=[ 9792], 95.00th=[ 9792],
     | 99.00th=[12480], 99.50th=[12608], 99.90th=[13120], 99.95th=[15040],
     | 99.99th=[17280]
    bw (KB  /s): min=  400, max=  416, per=100.00%, avg=408.75, stdev= 2.69
    lat (msec) : 2=0.04%, 4=0.04%, 10=98.14%, 20=1.78%
  cpu          : usr=0.04%, sys=0.12%, ctx=5132, majf=0, minf=27
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=5120/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=20480KB, aggrb=408KB/s, minb=408KB/s, maxb=408KB/s, mint=50112msec, maxt=50112msec

Disk stats (read/write):
  sda: ios=0/5132, merge=0/43, ticks=0/50048, in_queue=50048, util=99.52%

值得注意的是,速度在 101-103 IOPS 时非常稳定在 404kB/秒。

但是,复制文件的速度非常快,并且满足了我对 SSD 的期望:

root@h119:~# dd if=randomfile of=randomfile2
2097152+0 records in
2097152+0 records out
1073741824 bytes (1.1 GB) copied, 2.27684 s, 472 MB/s

因此,似乎只有 4k 随机写入速度非常慢。如果您需要更多信息,请告诉我,我会更新。提前感谢您的回答。

更新:在非 HP 服务器上,此问题不再存在。因此,这一定与 HP 服务器访问 SSD 的方式有关。在其他硬件上,我得到了以下结果,完全没问题:

root@ca286:~# fio --rw=write --name=test --size=40M --direct=1
test: (g=0): rw=write, bs=4K-4K/4K-4K/4K-4K, ioengine=sync, iodepth=1
fio-2.1.3
Starting 1 process
test: Laying out IO file(s) (1 file(s) / 40MB)

test: (groupid=0, jobs=1): err= 0: pid=1285: Wed Feb 25 20:47:25 2015
  write: io=40960KB, bw=130032KB/s, iops=32507, runt=   315msec
    clat (usec): min=24, max=1588, avg=30.34, stdev=15.59
     lat (usec): min=24, max=1589, avg=30.39, stdev=15.60
    clat percentiles (usec):
     |  1.00th=[   26],  5.00th=[   29], 10.00th=[   29], 20.00th=[   30],
     | 30.00th=[   30], 40.00th=[   30], 50.00th=[   30], 60.00th=[   30],
     | 70.00th=[   30], 80.00th=[   31], 90.00th=[   31], 95.00th=[   31],
     | 99.00th=[   33], 99.50th=[   54], 99.90th=[   56], 99.95th=[   56],
     | 99.99th=[  114]
    lat (usec) : 50=99.30%, 100=0.68%, 250=0.01%
    lat (msec) : 2=0.01%
  cpu          : usr=2.55%, sys=18.47%, ctx=10247, majf=0, minf=26
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued    : total=r=0/w=10240/d=0, short=r=0/w=0/d=0

Run status group 0 (all jobs):
  WRITE: io=40960KB, aggrb=130031KB/s, minb=130031KB/s, maxb=130031KB/s, mint=315msec, maxt=315msec

Disk stats (read/write):
  sda: ios=0/4806, merge=0/0, ticks=0/120, in_queue=120, util=48.19%

答案1

我们在使用 Gen7 的 SSD 进行测试时也做出了同样的观察,但我猜测与 Gen8 的差异不是很大。

如果将 SSD 直接连接到主板,其性能就会如您所期望的那样(ProLiant 服务器只有一个端口,默认连接 DVD 驱动器)。

如果通过 Raid 控制器连接 SSD,无论是否配置 RAID(Jbod),它都会降低速度,只要数据必须通过控制器,性能就会很差。我们猜测这与控制器不是为速度如此快的驱动器构建的有关。

如果您购买 HP SSD 并将其放入此类服务器中,您的性能会变得更好(我们猜测是因为控制器和磁盘之间的通信更好),但远达不到广告宣传的性能(约占其广告宣传的 20%)。

因此,ProLiants Gen7/8 SAS 控制器根本不适合 SSD。如果 Gen9 仍然存在此瓶颈,那将会很有趣,因为这样您只能通过 SlimSATA 将一个磁盘连接到 Gen7/Gen8(并且只能通过将磁盘放入机箱而不是插槽中)

相关内容