数据库服务器TPC-C
9.1.1 方法一:数据库服务器TPC-C估算法
适用范围:适用于对数据库服务器(应用服务器、Web服务器可参考)所需服务器的CPU能力进行估算。根据估算出的TPC-C值选择合适的服务器和服务器配置。
原理介绍:该估算法是通过计算应用系统峰值每分钟需要处理的业务交易数,再综合考虑业务交易的复杂程度、未来业务交易数量的增长和CPU处理余量等因素,通过公式计算得出一个估算值,以此来评估需要服务器必须达到的TPC-C值。
计算公式:TPC-C值 = ((TASK x 80%) /T) x S x F/C
参数解释:
TASK:典型工作日平均业务交易总量,指的是应用系统需要处理的用户业务请求的总和。
TASK x 80%:假设典型工作日80%的业务交易集中在高峰时段。
TASK x 80% / T: 即应用系统峰值每分钟处理的业务交易数。
T:应用系统典型工作日业务交易峰值(完成80%交易)持续时间,以分钟为单位。
S:实际业务交易操作相对于标准TPC-C测试基准环境交易的复杂程度比例。
F:系统未来的业务交易量发展冗余预留,需要根据应用系统情况估算。
C:服务器CPU利用率估算值。实际应用经验表明,服务器的CPU利用率高于80%则表明CPU的利用率过高会产生系统瓶颈,而利用率处于75%时,是处于利用率最佳状态。此值一般设定为C=75%。
计算步骤:
步骤一:估计应用系统平均典型工作日处理的业务交易总量
可以通过以下方法估算:
1、估算典型工作日平均登录系统的用户数。
2、估算平均典型工作日每个用户执行的业务交易数。例如,如果平均每个用户执行五次查询、五次修改和五次保存操作,那么平均每个用户执行的事务数为15次。
3、根据1和2估算出应用系统平均每典型工作日处理的业务交易总量。
步骤二:估算应用系统每日峰值持续时间(单位为分钟)
估算应用系统典型工作日峰值持续的时间,指的是应用系统典型工作日每天繁忙的时间。例如,股票交易系统每天的繁忙时间为上午9:30至 11:30和下午13:00至15:00,那么它的峰值持续时间为3+2 = 5 小时=300分钟。
步骤三:估算应用系统峰值每分钟需要处理业务交易数
计算应用系统峰值每分钟需要处理业务交易数时,需要估算典型工作日高峰时间处理的业务交易数占每天平均处理的业务交易总数的比例。通常按照20-80的原则进行估算,即80%的业务交易在高峰时间进行,20%的在非高峰时间进行。
根据上述步骤,可以算出应用系统峰值每分钟需要处理业务交易数。
步骤四:估算应用系统事务复杂度
由于实际业务交易的复杂程度与TPC-C标准测试中的业务交易存在较大的差异,应设定一个合理的对应值,根据经验,简单事务的S值为2-5,一般复杂事务为6-12,较复杂事务为13-16,高度复杂事务为17-20。针对数据库服务器,S值建议设置为15。
步骤五:估算应用系统未来一段时间后预留量。
如果预计未来用户数翻番,预留量即为200%。
步骤六:将以上各参数值代入公式,计算出TPC-C值。
步骤七:根据计算出TPC-C值,选择等于或者大于TPC-C值的目标服务器。
数据库服务器所需的内存
适用范围:适用于估算数据库服务器(应用服务器、Web服务器可参考)所需的内存。
原理介绍:数据库服务器相对其他服务器来说,因为涉及大量的数据处理,需要把数据载入内存,以加快处理速度,所以需要更多的内存。对于内存的估算一般有下述两种方法,建议采用下述两种方法分别估算出所需的内存,取其中最大的数值。
计算方法:
方法一:
根据标准化设计,将数据库内存容量(单位为G)和CPU的核心的数量的比例按照4:1配置,一个CPU的核心对应4G内存。例如服务器配置两个4核CPU则建议配置32G内存。
方法二:
原理介绍:数据库服务器的内存主要包括:操作系统占用内存、数据库系统占用内存、数据库并发网络连接占用内存等。按照经验,Windows平台内存占用率不超过55%、Unix(或Linux)平台内存占用率不超过80%时,不会影响系统的性能。
计算公式:
数据库服务器(Windows平台)内存 = (操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存)/ 55%
数据库服务器(Unix或Linux平台)内存 = (操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存)/ 60%(前置条件:操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存≤4G)
数据库服务器(Unix或Linux平台)内存 = (操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存)/ 80%(前置条件:操作系统占用内存+数据库占用内存+数据库并发网络连接占用内存+其他软件占用内存>4G)
参数解释:
操作系统占用内存:操作系统运行需要占用的内存。
数据库占用内存:数据库服务器运行需要占用的内存。
数据库并发网络连接占用内存:数据库客户端和数据库服务器之间连接时,数据库服务器需要花费的内存。
其他软件占用内存:数据库服务器中其他软件运行需要占用的内存。
计算步骤:
步骤一:估算操作系统所占用内存
操作系统所占用内存具体和操作系统类型和版本相关,一般为600M内存。
步骤二:估算数据库系统占用内存
数据库系统占用内存主要包括:数据库服务器软件占用的内存和数据库缓存。其中数据库缓存和数据库大小相关,根据经验,数据库服务器在缓存容量达到数据库经常访问数据总量(注:数据库总量不包括系统数据)的5%时性能较好。数据库总量可以根据5.2 节中数据库数据估算的方法计算。因此,数据库系统缓存=数据库经常访问数据总量*5%。
数据库服务器软件占用内存和所用的数据库管理软件及版本相关,按照经验,一般为200M内存。
步骤三:估算数据库并发网络连接占用内存
数据库并发网络连接数每个占用5M。假设有200个连接,即并发连接占用内存为200 * 5M = 1000M。
步骤四:估算其他软件占用内存先估算需要安装的软件,再估算每种软件占用内存的总和。为了简化计算,可以先估计每种软件占用内存大小Mi,再估计安装的软件数Ni,即其他软件占用内存= 。
步骤五:估算所需内存
根据上述公式,估算所需内存。
存储资源估算方法
存储资源估算方法
申请存储资源时应根据下述方法估算所需存储资源的需求,存储需求主要包括数据库存储需求、普通文件存储需求和系统运行存储需求三类。
项目 数据库存储估算 普通文件存储估算 系统运行存储估算
所需参数 1、系统需存储的实体表数据清单(用E表示)
2、实体数据的索引表数据清单(用I表示)
3、评估每个实体表每条记录存储数据容量需求(用S表示) 1、日志文件(用L表示)
2、其他文件(用E表示) 1、操作系统(用OS表示)
2、应用软件(如Weblogic)(用App表示)
3、其他软件需求(超过100M以上)(用E表示)
初始估算 1、应用系统实体表数据容量估算:
E1:实体E1本期记录M1个,每个容量S1 MB,该视图表的索引每个容量I1MB。
2、其他类推。 1、日志文件大小估算L
2、其他文件大小估算
E 1、操作系统大小估算OS
2、应用软件大小估算 App
3、其他软件大小估算 E
初始容量需求汇总 容量= (S1+I1) * M1 +…+(Si+Ii) * Mi 容量=L + E 容量= OS + App +E
容量冗余比率
(建议按照未来2年的存储需求估算) 容量* (1+容量冗余比率)
=((S1+I1) * M1 +…+(Si+Ii) * Mi
)*(1+冗余比率) 容量*(1+容量冗余比率)=(L + E)*(1+冗余比率) 容量*(1+容量冗余比率)=(OS + App +E)*(1+冗余比率)