SSD硬盘配置最佳实践

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

本文原创作者杜霆,京东商城基础平台部MySQL DBA,经作者同意发表于本人博客,如需转载需经本人同意。


一、测试背景

服务器升级SSD后,速度和性能没有得到应有的提升,原因是没有正确使用SSD,主要是raid、linux、mysql数据库等相关参数没有正确的配置,本文对SSD的相关参数进行了对比性能测试,根据相关资料以及测试结果得出相关结论,了解实用场景以及对应优势。

二、测试环境

主机:172.20.166.52

Cpu:32 * Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz

内存:129G

操作系统:CentOS release 6.6

Sysbench:Sysbench 0.5

SSD硬盘:800G*6 raid5

主机:172.20.166.23

Cpu:32 * Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz

内存:129G

操作系统:CentOS release 6.6

Sysbench:Sysbench 0.5

SSD硬盘:800G*6 raid10 /raid0

三、测试工具及内容

使用Sysbench对相同硬件、软件环境的raid、linux、mysql等相关参数进行io性能测试、mysql性能测试,对比io性能。

IO性能测试Sysbench参数:

参数名称

参数值

file-block-size

16k

混合读写比例

1.5(读写比例3:2)

file-num

20

file-total-size

200G

max-time(单位秒)

3600


MySQL性能测试Sysbench参数:

参数名称

参数值

file-block-size

16k

混合读写比例

1.5(读写比例3:2)

oltp-tables-count

15

oltp-table-size

50000000

max-time(单位秒)

3600


四、测试结果

1、Linux系统参数测试结果

Linux对比测试参数如下:

参数类型

对比参数值1

对比参数值2

NUMA

开启

关闭

IO调度算法

Deadline

Noop

Rotational轮转模式

0

1(默认值)

read_ahead_kb预读大小

0

128(默认值)

rq_affinity

2

1(默认值)


对Linux操作系统测试了5组参数,分别如上图表所示,由测试数据可得出如下结论:

1、关闭NUMA,对SSD硬盘性能提高较大;

2、IO调度算法采用Deadline和Noop性能差距不大,Noop调度算法性能略高于Deadline;

3、rotational、read_ahead_kb、rq_affinity参数的调整对SSD硬盘性能几乎没有影响,建议使用默认配置。

2、Raid参数测试结果

Raid对比测试参数如下:

参数类型

对比参数值1

对比参数值2

Write Policy

WriteBack-WB

WriteThrough-WT

Read Policy

Normal(关闭预读功能)

ReadAdaptive

IO Policy

Direct

Cached

BGI(Background initialization)

Disabled(0%)

30%


BGI(Background initialization):

开启BGI,创建好Raid阵列后不必等待初始化完成就可以开始使用,比如分区和格式化,但是系统仍然在后台检查磁盘。

对Raid配置测试了4组参数,分别如上图表所示,由测试数据可得出如下结论:

1、Raid的Write Policy设置为WriteBack,硬盘性能有很大提高,而且性能比较稳定;

2、Raid的Read Policy设置为ReadAdaptive,硬盘性能略高于Normal;

3、Raid的IO Policy设置为Direct,性能明显高于Cached;

4、BGI采用默认配置的30%或者关闭BGI,性能几乎没有变化,建议使用默认配置。

3、Raid0的OP测试结果

OP配置对比如下:

参数类型

对比参数值1

对比参数值2

OP(Over-provisioning:预留空间)

NO-OP(硬盘空间全部分区)

15%-OP(留下15%空间不分区)


对比测试了不设置OP和设置15%的OP,如上图表所示,由测试数据可得出如下结论:

1、io测试时线程数小于128时,15%的OP的性能明显高于不设置OP的性能,随着线程数的增加,15%的OP的性能优势逐渐减少,到1024线程时,两者性能很接近。

2、mysql测试时15%的OP的性能略高于不设置OP的性能,两者性能很接近。

4、MySQL参数测试结果

MySQL对比测试参数如下:

参数类型

对比值1

对比值2

对比值3

对比值4

对比值5

对比值6

对比值7

innodb_write_io_threads

4

8

16

       

innodb_read_io_threads

4

8

16

       

innodb_log_file_size

512M

1024M

1536M

2048M

     

innodb_io_capacity

500

1000

2000

3000

4000

8000

12000

innodb_max_dirty_pages_pct

25

40

75

95

     


对MySQL测试了5组参数,分别如上图表所示,由测试数据可得出如下结论:

1、innodb_write_io_threads/ innodb_read_io_threads设置为8性能比较理想;

2、innodb_log_file_size设置为1536M或者2048M,性能差别不大;

3、innodb_io_capacity测试了从500到12000的参数,性能差别不大,设置为3000时出现测试数据的最大值,从测试数据观察,该参数设置在2000-8000范围内性能相对理想;

4、innodb_max_dirty_pages_pct设置为75性能较为理想。

五、LINUX参数测试数据对比

涉及到的linux对比测试参数如下:

参数类型

对比参数值1

对比参数值2

NUMA

开启

关闭

IO调度算法

Deadline

Noop

Rotational轮转模式

0

1(默认值)

read_ahead_kb预读大小

0

128(默认值)

rq_affinity

2

1(默认值)


对Linux操作系统测试了5组参数,分别如上图表所示,由测试数据可得出如下结论:

1、关闭NUMA,对SSD硬盘性能提高较大;

2、IO调度算法采用Deadline和Noop性能差距不大,Noop调度算法性能略高于Deadline;

3、rotational、read_ahead_kb、rq_affinity参数的调整对SSD硬盘性能几乎没有影响。

1、NUMA测试数据对比
1、IO性能测试

threads

关numa-吞吐量

开numa-吞吐量

关numa-iops

开numa-iops

关numa-load

开numa-load

关numa-iowait

开numa-iowait

8

378.54

266.41

24226.79

17050.5

16

18

6.5

6

16

458.75

360.75

29359.85

23087.8

31

33

11

10

32

553.27

450.82

35409.14

28852.3

53

51

21

20

64

595.53

523.49

38113.78

33503.5

85

85

42

38

128

613.85

539.76

39286.61

34544.5

138

140

63

65

256

605.66

534.08

38762.29

34181.1

260

260

65

72

512

603.14

527.04

38600.85

33730.6

520

520

67

73

2、MySQL性能测试

threads

关numa-tps

开numa-tps

关numa-qps

开numa-qps

关numa-load

开numa-load

关numa-iowait

开numa-iowait

8

2382.1

1363.04

24995.58

24534.7

6

7

4

5

16

2727.46

2608.05

49094.31

46945

7

7

3

6

32

4324.6

4053.62

77842.73

72965.1

5

6.5

3

4.5

64

5317.55

4963.41

95715.96

89341.4

7

7.5

1.7

2.5

128

4758.36

4553.22

85650.52

81958

10

10

1.8

2

256

4494.63

4364.49

80903.31

78560.9

20

27

1.6

1.8

512

4467.94

4411.62

80422.83

79409.1

35

35

1.7

1.8

2、IO调度测试数据对比
1、IO性能测试

threads

deadline-吞吐量

noop-吞吐量

deadline-iops

noop-iops

deadline-load

noop-load

deadline -iowait

noop-iowait

8

255.89

352.8

16377.04

22581.8

18

19.51

6.1

6.71

16

352.47

465.14

22557.94

29768.7

33

34.21

8.7

11.51

32

447.36

558.68

28631.13

35755.7

55

56.09

18

22.56

64

536.64

599.48

34345.19

38366.5

86

83.54

36

43.86

128

581.75

609.07

37231.87

38980.8

145

138.37

60

59.07

256

575.5

626.5

36831.87

40095.8

265

266.36

76

62.77

512

550.95

620.77

35260.53

39729.4

520

520.75

78

64.54

2、MySQL性能测试

threads

deadline-tps

noop-tps

deadline-qps

noop-qps

deadline-load

noop-load

deadline-iowait

noop-iowait

8

1555.47

1173.77

27998.43

21127.9

5

10.89

2

1.57

16

2723.71

2527.73

49026.76

45499.2

6

11.75

2.5

2.35

32

3989.45

3998.67

71810.16

71976.1

5

12.78

2.5

2.96

64

4743.53

4888.79

85363.88

87998.3

7.39

10.57

2.68

2.39

128

4587.23

4821.08

82570.19

86779.5

8.37

13.53

1.87

2.15

256

4446.68

4544.65

80040.23

81803.7

12.39

17.13

1.67

1.61

512

4340.15

4789.82

78122.7

86216.8

35.72

24.92

1.42

2.17

3、rotational测试数据对比

threads

0-吞吐量

1-吞吐量

0-iops

1-iops

8

406.1

406.13

25990.49

25992.03

16

462.09

461.72

29573.52

29550.28

32

477.09

477.66

30533.51

30569.96

64

484.68

484.88

31019.8

31032.59

128

487.97

488.2

31229.86

31244.88

256

488.26

488.25

31248.86

31248.14

512

488.09

488.21

31237.47

31245.54

1024

487.96

487.96

31229.39

31229.69

4、read_ahead_kb测试数据对比

threads

128-吞吐量

0-吞吐量

128-iops

0-iops

8

406

406.61

25988.81

26023.23

16

462.25

462.5

29583.82

29600.2

32

477.61

477.89

30566.8

30584.83

64

484.92

485.05

31035.1

31043.36

128

488.22

488.3

31245.99

31251.39

256

488.27

488.31

31249.47

31251.88

512

488.25

488.19

31247.81

31244.06

1024

488.18

487.98

31243.82

31230.88

5、rq_affinity测试数据对比

threads

1-吞吐量

2-吞吐量

1-iops

2-iops

8

406.36

406.35

26006.89

26006.12

16

462.14

462.14

29577

29577.02

32

477.62

477.51

30567.6

30560.65

64

484.92

485.03

31034.82

31041.8

128

488.21

488.18

31245.61

31243.84

256

488.36

488.37

31254.91

31255.43

512

488.2

488.29

31244.94

31250.27

1024

488

488.09

31232.01

31237.56

六、RAID参数测试数据对比

涉及到的raid对比测试参数如下:

参数类型

对比参数值1

对比参数值2

Write Policy

WriteBack-WB

WriteThrough-WT

Read Policy

Normal

ReadAdaptive

IO Policy

Direct

Cached

BGI(Background initialization)

Disabled(0%)

30%

     


BGI(Background initialization):

开启BGI,创建好Raid阵列后不必等待初始化完成就可以开始使用,比如分区和格式化,但是系统仍然在后台检查磁盘。

对Raid配置测试了4组参数,分别如上图表所示,由测试数据可得出如下结论:

1、Raid的Write Policy使用Writeback,硬盘性能有很大提高,而且性能比较稳定;

2、Raid的Read Policy使用ReadAdaptive,硬盘性能略高于Normal;

3、Raid的IO Policy使用Direct,性能明显高于Cached;

4、BGI采用默认配置30%或者关闭BGI,性能几乎没有变化。

1、Write Policy测试数据对比
1、IO性能测试

threads

WB-吞吐量

WT-吞吐量

WB-iops

WT-iops

8

352.8

298.89

22581.78

19128.82

16

465.14

397.59

29768.72

25445.96

32

558.68

441.74

35755.67

28271.6

64

599.48

460.09

38366.47

29446.06

128

609.07

459.93

38980.8

29435.51

256

626.5

465.37

40095.83

29783.48

512

620.77

112.92

39729.38

7227.12

2、MySQL性能测试

threads

WB-tps

WT-tps

WB-qps

WT-qps

WB-load

WTB-load

WB-iowait

WT-iowait

8

1173.77

1078.65

21127.87

19415.7

10.89

7.15

1.57

3.18

16

2527.73

1778.8

45499.17

32018.3

11.75

9.17

2.35

4.95

32

3998.67

2632.47

71976.13

47384.4

12.78

10.27

2.96

6.32

64

4888.79

3974.11

87998.27

71534

10.57

11.23

2.39

4.98

128

4821.08

3498.19

86779.46

62967.3

13.53

11.69

2.15

3.57

256

4544.65

3495.27

81803.69

62914.8

17.13

22.25

1.61

2.86

512

4789.82

3358.78

86216.75

60458

24.92

20.85

2.17

1.76

2、Read Policy测试数据对比
1、IO性能测试

threads

Normal-吞吐量

ReadAdaptive-吞吐量

Normal-iops

ReadAdaptive-iops

8

312.87

380.72

20023.46

24366.25

16

440.28

479.39

28177.66

30680.9

32

539.43

566.26

34523.69

36240.67

64

591.11

611.28

37831.34

39122.05

128

604.66

619.29

38698.5

39634.77

256

602.61

621.31

38566.82

39763.55

512

606.65

621.09

38825.55

39749.61

1024

604.67

619.26

38698.98

39632.65

2、MySQL性能测试

threads

Normal-吞吐量

ReadAdaptive-吞吐量

Normal-iops

ReadAdaptive-iops

8

312.87

380.72

20023.46

24366.25

16

440.28

479.39

28177.66

30680.9

32

539.43

566.26

34523.69

36240.67

64

591.11

611.28

37831.34

39122.05

128

604.66

619.29

38698.5

39634.77

256

602.61

621.31

38566.82

39763.55

512

606.65

621.09

38825.55

39749.61

1024

604.67

619.26

38698.98

39632.65

3、IO Policy测试数据对比

threads

Direct-吞吐量

Cached-吞吐量

Direct-iops

Cached-iops

8

408.54

375.5

26146.57

24032.03

16

462.81

411.97

29619.75

26366.34

32

487.86

428.27

31222.75

27409.33

64

491.41

432.06

31450.35

27651.82

128

494.34

435.31

31637.56

27859.79

256

494.42

435.96

31642.94

27901.3

512

494.18

436

31627.73

27903.83

1024

493.97

436.11

31614.19

27911.18

4、BGI测试数据对比

threads

30%-吞吐量

disabled-吞吐量

30%-iops

disabled-iops

8

413.43

411.95

26459.45

26364.5

16

469.9

469.59

30073.86

30054.01

32

494.27

493.5

31633.52

31584.15

64

496.97

496.4

31806.23

31769.53

128

499.9

499.41

31993.47

31962.09

256

499.97

499.59

31997.9

31973.49

512

499.69

499.13

31980.14

31944.6

1024

499.31

498.8

31955.78

31923.29

七、Raid0的SSD OP测试数据对比

OP是Over-provisioning(预留空间)的简称,是指用户不可操作的容量,就是留出一部分容量不使用不分区,OP预留的空间一般被用于优化操作。

参数类型

对比参数值1

对比参数值2

OP(Over-provisioning:预留空间)

NO-OP(硬盘空间全部分区)

15%-OP(留下15%空间不分区)


对比测试了不设置OP和设置15%的OP,分别如上图表所示,由测试数据可得出如下结论:

1、io测试时线程数小于128时,15%的OP的性能明显高于不设置OP的性能,随着线程数的增加,15%的OP的性能优势逐渐减少,到1024线程时,两者性能很接近。

2、mysql测试时15%的OP的性能略高于不设置OP的性能,两者性能很接近。

1、IO性能测试

threads

NO_OP-吞吐量

15%OP-吞吐量

NO_OP-iops

15%OP-iops

8

355.44

400.85

22748.07

25654.71

16

496.2

521.74

31756.54

33391.2

32

601.71

612.09

38509.32

39173.7

64

635.39

639.79

40665.1

40946.7

128

641.7

646.56

41069.11

41379.56

256

640.71

644.65

41005.19

41257.91

512

640.51

642.44

40992.81

41116.14

1024

640.96

641.78

41021.33

41074.22

2、MySQL性能测试

threads

NO_OP-tps

15%OP-tps

NO_OP-qps

15%OP-qps

8

1721.79

1745.69

30992.22

31422.41

16

3070.81

2999.36

55274.51

53988.55

32

5024.17

5087.03

90435.04

91706.48

64

5769.8

5800.62

103856.32

104811.25

128

6029.35

6047.59

108528.26

108856.71

256

6163.54

6172.09

110943.75

111097.59

512

5825.3

5870.96

104855.43

105377.31

1024

5263.82

5302.43

94748.79

95443.74

八、MySQL参数测试数据对比

涉及到的MySQL对比测试参数如下:

参数类型

对比值1

对比值2

对比值3

对比值4

对比值5

对比值6

对比值7

innodb_write_io_threads

4

8

16

       

innodb_read_io_threads

4

8

16

       

innodb_log_file_size

512M

1024M

1536M

2048M

     

innodb_io_capacity

500

1000

2000

3000

4000

8000

12000

               

innodb_max_dirty_pages_pct

25

40

75

95

     


对MySQL测试了5组参数,分别如上图表所示,由测试数据可得出如下结论:

1、innodb_write_io_threads/ innodb_read_io_threads设置为8性能比较理想;

2、innodb_log_file_size设置为1536M或者2048M性能较理想,两者性能差别不大;

3、innodb_io_capacity测试了从500到12000的参数,性能差别不大,设置为3000时出现测试数据的最大值,从测试数据观察,该参数设置在2000-8000范围内性能相对理解;

4、innodb_max_dirty_pages_pct设置为75性能较为理想。

1、innodb_write/read_io_threads测试数据

threads

4threads-tps

8threads-tps

16threads-tps

4threads-qps

8threads-qps

16threads-qps

8

1173.77

1492.43

1419.11

21127.9

26863.76

25543.96

16

2527.73

2786.58

2503.45

45499.2

50158.43

45062.06

32

3998.67

4089.44

4047.88

71976.1

73609.92

72861.79

64

4888.79

5007.99

4906.46

87998.3

90143.74

88316.28

128

4821.08

4910.92

4968.95

86779.5

88796.58

89441.11

256

4544.65

4569.68

4576.27

81803.7

82254.23

82372.85

512

4457.77

4471.44

4430.32

80239.9

80485.88

79745.69

2、innodb_log_file_size测试数据

threads

512M-tps

1024M-tps

1536M-tps

2048M-tps

512M-qps

1024M-qps

1536M-qps

2048M-qps

8

1492.43

1673.89

1624.9

1610.53

26863.76

30130.05

29248.2

28989.6

16

2786.58

2842.86

2883.26

2954.41

50158.43

51171.45

51898.65

53179.3

32

4089.44

4400.77

4498.56

4537.56

73609.92

79213.84

80974.15

81676

64

5007.99

5017.13

5095.41

5189.49

90143.74

90308.36

91717.42

93410.9

128

4710.92

5286.19

5309.15

5350.92

84796.58

95151.4

95564.78

96316.6

256

4569.68

5223.62

5460.57

5465.27

82254.23

94025.11

98290.23

98374.9

512

4471.44

5101.56

5403.77

5408.45

80485.88

91828.04

97267.94

97352

3、innodb_io_capacity测试数据

threads

500-tps

1000-tps

2000-tps

3000-tps

4000-tps

6000-tps

8000-tps

12000-tps

8

1658.26

1630.92

1567.11

1616.33

1587.68

1605.74

1616.98

1618.39

16

2889.11

2887.32

2925.1

2946.26

2927.38

2946.93

2933.97

3038.03

32

4485.99

4491.16

4560.83

4564.73

4536.17

4563.98

4563.86

4687.67

64

5115.52

5083.29

5158.46

5158.74

5183.22

5209.63

5136.77

5341.22

128

5323.14

5307.32

5324.14

5356.27

5350.89

5470.49

5439

5461.05

256

5477.86

5492.01

5505.18

5513.2

5473.41

5492.54

5494.19

5465.69

512

5426.18

5414.67

5400.05

5404.58

5277.26

5363.1

5374.89

5364.93

1024

4911.33

4884.97

4901.06

4924.87

4931.67

4924.81

4760.45

4936.01

threads

500-qps

1000-qps

2000-qps

3000-qps

4000-qps

6000-qps

8000-qps

12000-qps

8

29848.7

29356.6

28208.03

29093.9

28578.33

28903.25

29105.55

29131

16

52003.9

51971.8

52651.85

53032.6

52692.87

53044.72

52811.43

54684.6

32

80747.8

80840.9

82094.89

82165.1

81651.13

82151.58

82149.53

84378.1

64

92079.4

91499.3

92852.3

92857.4

93298.04

93773.42

92461.83

96142

128

95816.5

95531.7

95834.49

96412.9

96316.11

98468.76

97902.01

98298.8

256

98601.6

98856.2

95505.18

99237.7

98521.44

98865.67

98895.35

98382.4

512

97671.2

97464.1

97200.94

97282.5

94990.66

96535.85

96747.99

96568.8

1024

88403.9

87929.4

88219.13

88647.6

88770.07

88646.51

85688.05

88848.1

4、innodb_max_dirty_pages_pct测试数据

threads

25-tps

40-tps

75-tps

95-tps

8

1592.35

1635.88

1616.33

1604.2

16

2926.66

2914.71

2946.26

2963.03

32

4621.18

4669.54

4564.73

4640

64

5183.43

5216.98

5158.74

5221.39

128

5374.46

5418.1

5356.27

5346.03

256

5467.12

5465.59

5513.2

5436.56

512

5325.57

5394.82

5404.58

5347.19

1024

4746.07

4899.43

4924.87

4769.11

九、相同硬盘数不同raid测试数据对比

使用6块ssd硬盘,分别配置了raid5、raid10、raid0、raid0-15%OP,进行了io混合随机读写性能测试。

Sysbench测试参数:

参数名称

参数值

file-block-size

16k

混合读写比例

1.5(读写比例3:2)

oltp-tables-count

15

oltp-table-size

50000000


1、不同Raid对比分析结果

1、硬盘利用率

Raid0的硬盘空间使用率是100%,如果预留15%做OP,空间使用率只有全部硬盘大小的75%;Raid5的空间使用率是(n-1)/n(n是磁盘数量,磁盘数量越多,空间使用率越高);Raid10的硬盘使用率只有50%;硬盘使用率顺序是

Raid0 > raid0-15%OP > Raid5 > Raid10

2、读写性能

raid0、raid0-15%OP的读写性能明显高于raid5、raid10,raid0-15%OP的性能略高于raid0。

raid0-15%OP > raid0 > raid10 > raid5

3、稳定安全性

Raid10是最安全稳定的,Raid5提供了一块盘的奇偶检验保证安全,Raid0没有安全保护措施。另外当Raid5一块盘出现故障时候,其性能明显下降。

2、不同Raid测试数据

1、io混合随机读写性能数据

threads

raid5-吞吐量

raid10-吞吐量

raid0-NO_OP-吞吐量

raid0-15%OP-吞吐量

raid5-iops

raid10-iops

raid0-NO_OP-iops

raid0-15%OP-iops

8

486.81

378.54

355.44

400.85

31155.9

24226.79

22748.07

25654.71

16

531.31

458.75

496.2

521.74

34003.5

29359.85

31756.54

33391.2

32

567.32

553.27

601.71

612.09

36308.5

35409.14

38509.32

39173.7

64

588.14

595.53

635.39

639.79

37640.9

38113.78

40665.1

40946.7

128

584.11

613.85

641.7

646.56

37383.2

39286.61

41069.11

41379.56

256

586.53

605.66

640.71

644.65

37537.8

38762.29

41005.19

41257.91

512

584.89

603.14

640.51

642.44

37432.7

38600.85

40992.81

41116.14


2、一块硬盘故障,raid10和raid5性能变化

raid5

MB_read/s

MB_wrtn/s

吞吐量

raid10

MB_read/s

MB_wrtn/s

吞吐量

 

306.98

244.34

551.32

 

342.13

239.01

581.14

 

307.48

240.34

547.82

 

420.18

174.85

595.03

 

311.98

243.11

555.09

 

210.94

319.88

530.82

 

306.69

242.92

549.61

 

396.29

198.82

595.11

 

309.18

241.09

550.27

 

455.8

144.79

600.59

 

317.05

243.94

560.99

 

321.38

248.11

569.49

 

328.3

247.53

575.83

 

269.85

288.21

558.06

 

319.46

257.87

577.33

 

478.38

136.64

615.02

 

311.09

253.59

564.68

 

460.5

134.47

594.97

 

315.82

256.95

572.77

 

377.16

210.37

587.53

 

158.27

156.9

315.17

 

368.72

215.12

583.84

 

160.46

166.41

326.87

 

291.59

267.16

558.75

 

159.12

163.47

322.59

 

414.14

192.47

606.61

 

156.2

162.23

318.43

 

459.39

151.82

611.21

 

160.99

163.99

324.98

 

215.77

325.02

540.79

 

157.78

161.77

319.55

 

391.12

198.15

589.27

 

160.99

163.99

324.98

 

365.72

221.12

586.84

 

158.06

160.86

318.92

 

250.39

297.45

547.84

 

161.4

162.81

324.21

 

457.67

153.27

610.94

 

159.08

161.38

320.46

 

360.43

226.9

587.33


十、SSD推荐参数配置

SSD对应linux、raid、mysql推荐参数以及推荐参数设置方法。

1、Linux推荐参数设置
1、关闭numa

2、io调度算法设置为noop

3、Rotational保持默认值1

4、read_ahead_kb保持默认值128

5、rq_affinity保持默认值1

2、Linux推荐参数设置方法

1、关闭numa

进入System BIOS设置,选择Memory设置,选择Node Interteaving为Enable进行关闭numa,如下图所示。

执行命令“numactl --hardware”进行检查,输出结果available: 1 nodes (0)时表示关闭成功,如下图。

2、修改io调度算法noop

执行命令:echo noop > /sys/block/sda/queue/scheduler

检查命令:cat /sys/block/sda/queue/scheduler

3、Rotational值的调整

执行命令:echo 0 > /sys/block/sda/queue/rotational

查看命令:cat /sys/block/sda/queue/rotational

4、read_ahead_kb值的调整

执行命令:echo 0 > /sys/block/sda/queue/read_ahead_kb

查看命令:cat /sys/block/sda/queue/read_ahead_kb

5、rq_affinity值的调整

执行命令:echo 0 > /sys/block/sda/queue/rq_affinity

查看命令:cat /sys/block/sda/queue/rq_affinity

3、Raid推荐参数设置
1、Write Policy设置为WriteBack(WB)

2、Read Policy设置为ReadAdaptive

3、IO Policy设置为Direct

4、BGI(Background initialization)保持默认设置30%

4、Raid推荐参数设置方法

使用MegaCli命令可以修改Raid参数配置,该命名是官方提供的针对MegaRAID卡的设置命令,如果使用不同品牌Raid卡,可以参照官方提供的命令进行设置。

MegaCli查看Raid参数命令:

查看所有Raid:MegaCli -LDGetProp -Cache -LALL –aALL

查看其中一个Raid:MegaCli -LDGetProp -Cache -L1 -a0

MegaCli修改Raid参数命令:

MegaCli -LDSetProp WT|WB|NORA|RA|ADRA -L1 -a0

or

MegaCli -LDSetProp -Cached|-Direct -L1 -a0

1、Write Policy设置为WriteBack命令

MegaCli -LDSetProp WB -L1 -a0

2、Read Policy设置为ReadAdaptive命令

MegaCli -LDSetProp ADRA -L1 -a0

3、IO Policy设置为Direct命令

MegaCli -LDSetProp -Direct -L1 -a0

4、BGI调整方法

进入Device Settings,选择Interated RAID Controller,选择Controller Managent,选择Change Controller Properties,可以修改BGI参数,如下图。

5、SSD的OP推荐设置

推荐保留15%的硬盘空间不进行分区,这部分空间即是OP的保留空间。

设置方法:分区时候保留15%的硬盘空间不进行分区。

4、MySQL推荐参数设置

1、innodb_write_io_threads/ innodb_read_io_threads推荐设置为8

2、innodb_log_file_size推荐设置为2048M

3、innodb_io_capacity推荐设置为3000

4、innodb_max_dirty_pages_pct设置为75


本文转自 lover00751CTO博客,原文链接:http://blog.51cto.com/wangwei007/1902387,如需转载请自行联系原作者


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 缓存 固态存储
服务器高效硬盘还是要SSD固态硬盘?
服务器高效硬盘还是要SSD固态硬盘? 数据库放在 WDC WD3000BLFS (1万转) 跟放在 INTEL SSDSA2BW080G3   上的速度,有质的飞跃,不是同一个数量级的。 数据库必须得放到SSD上。
9305 0
|
存储 Oracle 关系型数据库
【ESSD技术解读-02】企业级利器,阿里云 NVMe 盘和共享存储
当前 NVMe 云盘结合了业界最先进的软硬件技术,在云存储市场,首创性同时实现了 NVMe 协议 + 共享访问 + IO Fencing 技术。它在 ESSD 之上获得了高可靠、高可用、高性能,同时基于 NVMe 协议实现了丰富的企业特性,如多重挂载、IO Fencing、加密、离线扩容、原生快照、异步复制等功能。本文详细介绍了云上SAN和NVMe的发展历程,并做出了对未来的构想
1690 0
|
存储 固态存储 搜索推荐
释放百万IOPS性能!阿里云数据库下一代存储介质ESSD云盘来了!
阿里云数据库首个跨入IOPS百万时代的云盘——ESSD,单盘IOPS高达100万,比上一代SSD云盘最高测试数据快40倍,这是阿里云迄今为止性能最强的企业级数据库存储介质。
775 0
释放百万IOPS性能!阿里云数据库下一代存储介质ESSD云盘来了!
|
存储 弹性计算 JavaScript
【ECS最佳实践】使用多块云硬盘构建RAID组
1.RAID简介 RAID是将多个独立的磁盘按照一定的方式组成1个磁盘阵列组,相比单个磁盘能够有效的提高磁盘的容量、带宽以及可靠性和可用性。 说明: 1.不建议对云盘采用RAID5 和RAID6模式,这些RAID模式的奇偶校验数据会占用一定的IOPS,从而造成性能的损失 2.建议创建RAID0,RAID1模式,并使用相同分区大小,以减少云盘空间的浪费 如下是常见的RAID配置选项: 配置 优点 劣势 使用场景 RAID0 I/O在卷内以条带化的方式分布在各个磁盘上。
|
Linux
在本地磁盘型云主机做软RAID的实践
阿里云中购买了一台拥有本地磁盘的云服务器。比如 ecs.i2.16xlarge. 为了保证数据安全性,以及读写速度,我们通常会对磁盘做RAID。但是云主机又不同于本地物理主机,没有办法添加RAID卡,这就需要通过软件来实现RAID。
2208 0
|
存储 固态存储 虚拟化
新一代服务器预览:M.2 SSD系统盘RAID1方案
Xeon Processor Scalable服务器上的“BOSS”是啥?
3314 0
|
固态存储
原win7系统迁移到SSD固态硬盘
应用场景 原先使用的电脑,用起来越来越慢,跟不上速度,买了一块120G的SSD固态硬盘,把原系统迁移到固态硬盘上,提升效率,加快开机速度等。
1469 0