求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
性能评测与负载预估
 
火龙果软件    发布于 2013-9-17
 

一、历史版本

在SQL Server 中运行以下查询,可得出版本号:

select @@version

查询结果示例如下:

Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64)   Mar 29 2009 10:11:52   
Copyright (c) 1988-2008 Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

8.00.194.0           SQL Server 2000 RTM
8.00.384.0 SQL Server 2000 SP1
8.00.534.0 SQL Server 2000 SP2
8.00.760.0 SQL Server 2000 SP3/SP3a
8.00.2039 SQL Server 2000 SP4
 
9.00.1399 SQL Server 2005 RTM
9.00.2047 SQL Server 2005 SP1
9.00.3042 SQL Server 2005 SP2
9.00.4035 SQL Server 2005 SP3
9.00.5000 SQL Server 2005 SP4
 
10.00.1600 SQL Server 2008 RTM
10.00.2531 SQL Server 2008 SP1
10.00.4000 SQL Server 2008 SP2
10.00.5500 SQL Server 2008 SP3
 
10.50.1600 SQL Server 2008 R2 RTM
10.50.2500 SQL Server 2008 R2 SP1
10.50.4000 SQL Server 2008 R2 SP2
 
11.00.2100 SQL Server 2012 RTM
11.00.3000 SQL Server 2012 SP1
 
11.0.9120.5 SQL Server 2014 CTP1

二、TPC简介

1. TPC

TPC即事务处理性能委员会(Transaction Processing Performance Council),是由数十家会员组成创建的非盈利机构,也是国际权威的第三方性能评测机构,其功能是负责制定商务应用测试基准规范并监督、管理发布测试结果,其总部设立在美国,官方网址为http://www.tpc.org/default.asp。

TPC发布了TPC-A、TPC-B、TPC-C、TPC-D、TPC-E、TPC-H、TPC-R、TPC-W、TPC-APP等数套基准规范,其侧重点各有不同,有些基准规范已经过时并废弃不用,如TPC-A测试基准。

TPC组织不给出基准程序的代码,而只给出基准程序的标准规范。任何公司或个人都可以作为测试者按照规范开发、优化自己的测试系统,但为了保证测试结果的完整性和公正性,测试者都必须提交给TPC一套完整的测试报告:包括被测试系统的各部分配置说明、价格,以及原程序代码、测试结果等信息;该报告和系统由TPC分布在全球的审核员进行现场审核并最终发布。

2. TPC-C

TPC-C是TPC Benchmark C的简称,自1992年沿用至今,是一个OLTP测试基准,其意在衡量联机事务处理系统的性能和性价比。

TPC-C模拟了一个货物批发商的管理系统,如下图所示。该公司有W个仓库,每个仓库供应10个地区的货物,每个地区为3000名客户提供服务。每个仓库有10个终端,每个终端对应着一个地区,操作员在10×W个终端上向公司系统发送5种请求:新订单(New-Order)、付款(Payment)、发货(Delivery)、查询订单状态(Order-Status)、查询库存(Stock-Level)。W是一个可变的参数,可以更改W以获得最佳的测试结果。

TPC-C使用性能和价格度量,其中性能由tpmC(transactions per minute,tpm)衡量,C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。新订单(New-Order)、付款(Payment)、发货(Delivery)、查询订单状态(Order-Status)、查询库存(Stock-Level)5种交易中,除付货交易是事后批处理,其余4种皆为联机交易。要注意的是,在处理新订单的同时,系统还要处理其他4类事务请求。通常而言,新订单请求不可能超出全部事务请求的45%,因此,当一个系统的性能为1000tpmC时,它每分钟实际处理的请求数是2000多个。

TPC-C还以系统性能价格比的方式体现,单位是$/tpmC,即以系统的总价格(单位是美元)/tpmC数值得出。

3. TPC-E

2007年3月TPC宣布批准了名为TPC-E的新标准以取代TPC-C标准

http://server.it168.com/a2008/0910/204/000000204400.shtml

TPC-E的测试指标与TCP-C类似,时间单位从TPC-C中的以分钟计变为TPC-E中的以秒计。性能指标(tpsE, transactions per second E)是指系统在执行多种交易时,每秒钟可以处理多少交易,其指标值越大越好;性价比指标(美元/tpsE)是指系统价格与前一指标的比值,数值越小越好。

TPC-E对模型进行大刀阔斧的创新——模拟证券经纪公司(以NASDAQ为原型)而不是批发商的流量和交易模式,从C/S架构过渡到B/S架构,数据类型从原来的3种扩展到10种,事务类型从原来的5种增加到12种,数据表由原来的9个增加到了33个,数据库构成更加复杂,也更加符合实际应用,当然对服务器的性能要求也更高了。

4. TPC测试的硬件成本

由于TPC-C的模型比较简单,服务器在测试时只是做一些简单的数据查询、修改和删除操作;而在多核计算盛行的今天,针对这种应用,强大的服务器CPU容易处于等待数据的空闲状态,I/O因而成为严重瓶颈。为了提升I/O,保证测试性能,服务器厂商往往需要动用大量的内存和磁盘。比如IBM和惠普公司在获得最高分的TPC-C测试时都使用了7000块硬盘。这使得参加TPC-C测试所需要的成本高达千万美元。如此巨额成本大大提高了TPC-C的门槛,将很多小型服务器厂商拒之门外。而且,从用户角度来看,实际应用可能并不需要如此海量的内存和磁盘,TPC-C结果的适用性也受到了质疑。

而TPC-E则不同。由于数据库更加复杂,要执行的事务处理更多——TPC-E标准中定义的事务有12种,每个事务对应数据库管理系统中的一个或多个带输入和输出参数的存储过程,而且会涉及到不同表间的关联,这使得服务器CPU容易处在“有事可做”的状态,因而对内存和磁盘I/O的要求也相对小一些,从而大大降低了服务器厂商搭建硬件环境的成本。

三、SQL Server的TPC测试的部分结果

http://www.tpc.org/tpcc/results/tpcc_results.asp

http://www.tpc.org/tpce/results/tpce_results.asp

1. SQL Server 2000

tpmc: 67,754

Price/tpmC:2.36 USD

可用日期:02/14/2005

服务器: HP ProLiant DL380G4,Intel Xeon - 3.6 GHz,2CPU*超线程,12GB内存

数据库: Microsoft SQL Server 2000 Enterprise Edition SP3

操作系统:Microsoft Windows Server 2003 Enterprise Edition

2. SQL Server 2005

tpmc: 1,024,380

Price/tpmC:0.65 USD

可用日期:06/20/2011

服务器: HP ProLiant DL380 G7,Intel Xeon X5690 Hex-Core - 3.46 GHz,2CPU*6Core*超线程

数据库: Microsoft SQL Server 2005 Enterprise Edition x64 SP3

操作系统:Microsoft Windows Server 2008 R2 Enterprise Edition

tpsE: 268.00

Price/tpsE:795.21 USD

可用日期:12/11/07

服务器: Dell PE2900,Intel Xeon X5460 Quad-Core - 3.16 GHz,2CPU*4Core,48GB内存,232块硬盘

数据库: Microsoft SQL Server 2005 Enterprise Edition x64 SP2,db=1,666GB

操作系统:Microsoft Windows Server 2003 R2 Enterprise Edition x64

3. SQL Server 2008

tpsE: 817.15

Price/tpsE:319.15 USD

可用日期:07/31/09

服务器: IBM System x3650 M2,Intel Xeon X5570 Quad-Core - 2.93 GHz,2CPU*4core*超线程,96GB内存,392块磁盘

数据库: Microsoft SQL Server 2008 Enterprise Edition x64 SP1,db=3,163GB

操作系统:Microsoft Windows Server 2008 Enterprise Edition x64

4. SQL Server 2008 R2

tpsE: 1,284.14

Price/tpsE:250.00 USD

可用日期:05/04/11

服务器: HP ProLiant DL380 G7,Intel Xeon X5690 Hex-Core - 3.46 GHz,2CPU*6Core*超线程,192GB内存,84块硬盘

数据库: Microsoft SQL Server 2008 R2 Enterprise Edition x64,db=5,622GB

操作系统:Microsoft Windows Server 2008 R2 Enterprise Edition

5. SQL Server 2012

tpsE: 1,881.76

Price/tpsE:173.00 USD

可用日期:11/21/12

服务器: HP ProLiant DL380p Gen8,Intel Xeon E5-2690 - 2.90 GHz,2CPU*8Core*超线程,256GB内存,40块硬盘

数据库: Microsoft SQL Server 2012 Enterprise Edition , db=7,792 GB

操作系统:Microsoft Windows Server 2012 Standard Edition

四、数据库服务器处理性能估算

系统的建设,必须满足未来3~5年业务发展和管理的需求,所以下面对服务器性能指标的估算,将以满足未来3~5年的需要为基准。以下计算方法转载自 http://blog.csdn.net/educast/article/details/9322437

假定:

系统同时在线用户数为100人(U1);

平均每个用户每分钟发出2次业务请求(N1);

系统发出的业务请求中,更新、查询、统计各占1/3;

平均每次更新业务产生3个事务(T1);

平均每次查询业务产生8个事务(T2);

平均每次统计业务产生13个事务(T3);

一天内忙时的处理量为平均值的5倍;

经验系数为1.6;(实际工程经验)

考虑服务器保留30%的冗余;

服务器需要的处理能力为:

TPC-C=U1*N1*(T1+T2+T3)/3*3*经验系数/冗余系数

则数据库服务器的处理性能估算为:

TPC-C= 100*2*(3+8+13)/3*5*1.6/0.7= 18,285 TPM

本文结语:

购买和配置服务器时,通过对服务器性能指标的估算,以满足长远的需要。

相关文章

基于EA的数据库建模
数据流建模(EA指南)
“数据湖”:概念、特征、架构与案例
在线商城数据库系统设计 思路+效果
 
相关文档

Greenplum数据库基础培训
MySQL5.1性能优化方案
某电商数据中台架构实践
MySQL高扩展架构设计
相关课程

数据治理、数据架构及数据标准
MongoDB实战课程
并发、大容量、高性能数据库设计与优化
PostgreSQL数据库实战培训
 
分享到
 
 


MySQL索引背后的数据结构
MySQL性能调优与架构设计
SQL Server数据库备份与恢复
让数据库飞起来 10大DB2优化
oracle的临时表空间写满磁盘
数据库的跨平台设计
更多...   


并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理


GE 区块链技术与实现培训
航天科工某子公司 Nodejs高级应用开发
中盛益华 卓越管理者必须具备的五项能力
某信息技术公司 Python培训
某博彩IT系统厂商 易用性测试与评估
中国邮储银行 测试成熟度模型集成(TMMI)
中物院 产品经理与产品管理
更多...