WEB开发网
开发学院数据库MSSQL Server 对比SQL Server 2008 和SQL Server 2005的性能 阅读

对比SQL Server 2008 和SQL Server 2005的性能

 2009-01-05 10:18:33 来源:WEB开发网   
核心提示:系统配置: Intel Core2 at 2.13 GHz2 GB RAMWindows XP Professional SP22 physical hard drives1 disk controllerDisk 1: OS, SQL Server, LogsDisk 2: Data每次测试都要重新启动系统并所需要的

系统配置:

Intel Core2 at 2.13 GHz

2 GB RAM

Windows XP Professional SP2

2 physical hard drives

1 disk controller

Disk 1: OS, SQL Server, Logs

Disk 2: Data

每次测试都要重新启动系统并所需要的软件,并只运行所需的数据库引擎

测试方案

Click for larger image

对比SQL Server 2008 和SQL Server 2005的性能

每一张表在ID栏里有一个聚簇主键。

非聚簇索引:

厂商:厂商名称的非唯一索引

卡:安全代码、卡编号的唯一索引

卡;安全代码、卡编号的非唯一索引

采购:卡ID的非唯一索引

采购;厂商ID的非唯一索引

测试细节:

测试脚本模拟OLTP工作任务,共有三张表,包括厂商、卡和采购。

测试概要

测试利用了SQL脚本的多个同时调用,调用循环中的存储过程来首先加载和查询数据。

Gory细节

本测试利用简单的框架I,称为Hummer。它利用a .bat文件运行一些初始安装脚本,然后启动n个同时过程,每个过程运行相同的脚本。这是模拟多个用户争用数据库资源。 每个脚本包括对DELAY的一个偶然调用。这允许多个过程共享数据库资源,也很好地模拟了实际的OLTP工作任务。

总共有5项具有不同参数的测试。下图显示了所有Test Run 2的细节,并以之作为示例。

.bat script执行以下步骤:

放弃并重新建立数据库

创建表和索引

创建存储过程

设置所有的控制参数

执行DBCC FREESYSTEMCACHE(’ALL’)

执行DBCC DROPC及LEANBUFFERS

启动16过程,每个过程运行主要的测试脚本

CREATE DATABASE脚本创建数据文件,该文件的初始大小是400MB,Log文件的初始大小是20MB,每个文件按规定增长10%。经过Test Run 1之后,Data文件并不增长,但是Log文件增长到48MB(2008)和53MB(2005)。

如系统细节中所示,OS、SQL Server和 Log都在盘C上,而Data文件在盘D上。

主要测试脚本完成以下步骤:

启动延迟1秒(以允许所有过程的启动)

循环200000次

读取控制参数(SP调用)。如果在测试中完成读取控制参数,就停止读取控制参数(这允许用户在测试运行中改变参数。)

每300次循环,延迟1秒

为初始20000循环创建一个厂商记录(SP调用)

为初始20000循环创建卡记录(SP调用)

为初始40000循环创建采购记录(SP调用)

每10 个循环

10次有1次:插入采购记录

10次有1次:更新厂商记录

10次有8次:读卡记录

循环结束

重要的是要理解每个过程都要插入20000个厂商记录、20000个记录。所以,插入记录的总数(初始设置)是320000、 320000和 640000。Test Run 2的循环完成以下工作:

初始20000循环:创建厂商记录、卡记录和采购记录,进行插入、更新或读取

下一个20000循环:创建采购记录,进行插入、更新或读取

最后160000循环:进行插入、更新或读取

经过初始40000循环后,所有的插入、更新或读取操作都进行了随机记录。

测试参数

对比SQL Server 2008 和SQL Server 2005的性能

Results

对比SQL Server 2008 和SQL Server 2005的性能

随附的结果文件包括每个过程的输出和每次运行的性能图,一张是在测试开始的时候,一张是在测试结束后。从性能图中可以看到,在相同的硬件上运行相同的工作任务时,SQL Server 2008在每次测试时都明显占用了更多的CPU。

结论

这些测试表明,如果所测试的工作任务并不利用任何特别的SQL Server 2008特性,SQL Server 2008并不比SQL Server 2005更快或更慢。而SQL Server 2005比SQL Server 2000的性能改进更多。尽管如此,这并不意味着用户不应该迁移到SQL Server 2008,数据库管理员需要在进行系统升级前要做些改变,以避免不必要的成本。

Tags:对比 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接