SQL Server数据文件增长检测(三)

 
   | |

导读:本部分为对测试作出了总结,无论一个事物有无autogrowth,CPU以及读写速度的差距并不大,但事务的持续时间仍然受到文件增长的影响。

关键词:autogrowth SQL Server 数据库文件

正在加载数据... 【TechTarget中国原创】结果显示,性能下降主要是由于文件增长,特别是在少量事务和小autogrowth情况下。同样,autogrowth越大性能就越好。事务越多,性能受autogrowth的影响也就越少。所以,当你要缩减数据库文件,你应该问一下自己是否值得,这意味着文件在一段时间内不会再次自动增长,此外,你还要根据预期的数据库活动和增长来设定一个autogrowth门槛。

【TechTarget中国原创】测试6

  初始文件大小 = 256,

  最终文件大小 = 128256,

  少量事务(每次一行),

  总行数: 33373,

  文件增长 1,000 MB

  在这个测试中,我插入了33373行,一次让文件增长另一次不增长。

  代码如下:

  结果总结:

循环

步骤

CPU

持续时间 (ms)

1

文件增长

3343

217006

33382

19335

 

文件不增长

3500

216989

33383

18020

 

% 改进

-4.696380497

0.007833885

-0.002995626

6.801137833

 

差异

-157

17

-1

1315

2

文件增长

3344

217006

33385

30126

 

文件不增长

3359

217001

33378

16499

 

% 改进

-0.448564593

0.002304084

0.0209675

45.23335325

 

差异

-15

5

7

13627

3

文件增长

3578

217006

33382

16884

 

文件不增长

3234

216989

33382

21183

 

% 改进

9.61430967

0.007833885

0

-25.46197584

 

差异

344

17

0

-4299

 

 

 

 

 

 

 

平均% 改进

1.489788193

0.005990618

0.005990625

8.857505083

 

平均差异

57.33333333

13

2

3547.666667

  测试7

  初始文件大小= 34816,

  最终文件大小= 1314816,

  大量事务(33373 行),

  文件增长 1,000 MB

  代码如下:

  结果总结:

循环

步骤

CPU

持续时间 (ms)

1

文件增长

3548

867705

45151

24096

 

文件不增长

3250

878488

34317

20707

 

% 改进

8.399098083

-1.242703453

23.99503887

14.06457503

 

差异

298

-10783

10834

3389

2

文件增长

3579

879331

33542

21753

 

文件不增长

3765

872841

39965

22775

 

% 改进

-5.196982397

0.738061094

-19.14912647

-4.698202547

 

差异

-186

6490

-6423

-1022

3

文件增长

3781

879411

33452

25014

 

文件不增长

3422

870858

41918

21235

 

% 改进

9.494842634

0.972582786

-25.30790386

15.10753978

 

差异

359

8553

-8466

3779

 

 

 

 

 

 

 

平均% 改进

4.23231944

0.155980142

6.82066382

8.157970755

 

平均差异

157

1420

1351.66667

2048.666667

  结论:

  平均值分析:

  测试1—少量事务,小autogrowth

 

CPU

持续时间 (ms)

平均% 改进

45.52345285

20.74529261

0.125700284

39.5361444

平均差异

895.6666667

14491

10.33333333

5125.666667

  测试2——少量事务,小autogrowth,多行

 

CPU

持续时间 (ms)

平均% 改进

39.16279497

20.96413262

0.158643548

38.31454107

平均差异

2638.666667

59797.33333

53.33333333

20901.66667

  测试3——少量事务,大autogrowth,行数同测试2

 

CPU

持续时间 (ms)

平均% 改进

33.71427131

21.60919146

0.072447159

15.46763174

平均差异

3037

61351.33333

24.33333333

7570.666667

  测试4——大量事务,小autogrowth,行数同测试2

 

CPU

持续时间 (ms)

平均% 改进

0.502786472

0.118572811

0.002995716

47.58833245

平均差异

26.33333333

1044

1

17230.33333

    测试5——大量事务,大autogrowth,行数同测试2

 

CPU

持续时间 (ms)

平均% 改进

0.13134708

0.011862299

0.002995716

11.86357121

平均差异

5

104.3333333

1

2675.333333

   测试6——少量事务,大autogrowth,行数同测试2

 

CPU

持续时间 (ms)

平均% 改进

1.489788193

0.005990618

0.005990625

8.857505083

平均差异

57.33333333

13

2

3547.666667

  测试7——大量事务,大autogrowth,行数同测试2

 

CPU

持续时间 (ms)

平均% 改进

4.23231944

0.155980142

-6.82066382

8.157970755

平均差异

157

1420

-1351.66667

2048.666667

  结果显示,性能下降主要是由于文件增长,特别是在少量事务和小autogrowth情况下。同样,autogrowth越大性能就越好。事务越多,性能受autogrowth的影响也就越少。所以,当你要缩减数据库文件,你应该问一下自己是否值得,这意味着文件在一段时间内不会再次自动增长,此外,你还要根据预期的数据库活动和增长来设定一个autogrowth门槛。

  无论一个事物有无autogrowth,CPU以及读写速度的差距并不大,但事务的持续时间仍然受到文件增长的影响。

 
查看全文
 
 
 
 
 

SQL Server性能与调优

 
SQL Profiler是一个非常有用的工具,它学习起来不会太难——正确地掌握这一工具,可以帮你成为数据库管理高手。
 
SQL Profiler能捕捉事件,例如查询停止和开始通知、每一个执行的查询的完整文本、查询编译信息、等等。
 
如果你频繁地在索引重建以后执行索引重组,那么重组花费的CPU处理能力和磁盘I/O就浪费了,因为在执行完索引重建命令以后索引会被完全重建。
 
在SQL Server中,存储过程运行速度过慢同硬盘碎片之间是否有直接的关系,专家Denny Cherry对此进行了分析。
 
SQL Server Profiler是一个应用程序,在SQL Server标准版、企业版和工作组版中都有,它为用户提供了一个接口,用来设置与运行跟踪。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录