数据库服务器的选型建议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何规划和选择数据库服务器?
当一个新的业务系统开发完成后,需要在一个区域乃至全国推广此应用软件,如何根据
业务规模来选择服务器配置、内外置磁盘大小、以及网络带宽,是一件复杂的事情。
一个最真实的评估,是建立一个接近真实业务应用的操作环境,进行各种压力测试
,测算出不同的用户数量下,系统的响应时间和吞吐量,并得出当时服务器的各种资源
的利用率情况,对硬件资源的完整评估,需要考虑下列三个方面:
服务器性能的评估
客户端工作站或前端桌面的评估
通讯网卡和网络带宽的评估
如果不能建立准确的压力测试环境,需要根据工业界的Benchmark对服务器进行评估,推算出符合业务规模的服务器配置,同时要考虑在做系统管理时所消耗的资源,如在做
备份、恢复、问题诊断、性能分析时、软件维护时都会对资源带来附加的消耗,对重要
资源要考虑为将来留下升级和可扩展的余地,下列是一些通用的原则:
处理器:要考虑高峰时的处理器的能力,并适当保留一些缓冲,确保在业务增长时,
系统有扩展的余地。如果要保持快速的响应能力,应当为CPU保留20%至40%的富余量。
内存:要为运行在此服务器的所有应用软件考虑内存,所需要的内存主要依赖于用户数、应用程序类型、进程的方式、和应用程序处理的数据量决定。
磁盘:评估业务的实际用户的数据量,以此推算出磁盘的最小个数,不要忘记选择备
份设备(如磁带机)。
IO槽:尽量保留更多的IO槽,防止将来插更多的PCI卡。
网络:选择合适的网卡,保证网络不是系统的瓶颈。
在评估数据库服务器性能时,最困难的事情是如何把握准确度问题,到底考虑哪些
因素等。理想情况下,应考虑下列要素:
交易的复杂性
交易率
数据读/写比例
并发连接数目
并发交易数目
数据库最大表的大小
性能度量的目标
根据各种Benchmark测试结果和对各种生产系统的检测,下表概括了CPU、磁盘、内存页面、网络和虚存页交换的利用率,可看出一个服务器如果其利用率保持在Good 所标
示的范围内时,是一种理想的模式。
基于rPerf的推算,评估数据库服务器的CPU
rPerf(Relative performance)是从IBM公司解析模型得出的商务处理性能估计值。
该模型模拟部分系统的操作,如中央处理器、高速缓存和内存,该模型没有模拟磁盘和
网络的输入/输出操作。虽然采用了一般数据库和操作系统的参数,但该模型不能反映出具体的数据库或AIX版本。除非单独说明,否则rPerf均在系统推出时估计。IBM pSeries 640-B80为基准参照系统,其值为本。虽然rPerf可用于比较商业处理性能,但实际的系统性能可能不同,取决于许多因素,包括系统硬件配置和软件设计与配置。
基于TPC-C的推算,评估数据库服务器的CPU
TPC-C基准是事务处理委员会建立的一个专门演示在线事务处理性能(OLTP)的性能基准,它的测量方法是为了使客户能够评估不同的在线事务处理系统的性能,这些事务进
程于一个可控制的状态下在一个标准的数据库中运行。
TPC-C测试包括5个典型的OLTP事务,它们是:
新订单:一个用户提交一个新的订单
支付:更新用户的账户余额以反映一个支付
交付:订单的交付(通过一个批事务处理实现)
订单状态:返回用户最新订单的状态
库存水平:监控当前仓库库存
TPC-C的事务处理是在一个9个表的数据库上实现的事务处理过程包括:更新、插入、删除、终止,以及对主和次级键的访问,每种事务处理90%的响应时间应小于或等于5秒,其中,库存水平的响应时间可以在20秒以内。
TPC-C的吞吐量值是终端活动水平的直接结果,如每一个仓库有10个终端,在每一个终端上上述5个事务都是可用的,一个远程的终端仿真器被用来在性能测试过程中进行必要的事务混合工作。这个混合代表着一个完整的订单商务处理流程:录入、支付、检验、
交付。更专业的是,这个必要的混合被定义为产生一个相等数量的新订单和支付事务,
以及在每10个新订单事务中产生一个交付事务,一个订单状态检验事务和一个库存水平检验事务
远程终端仿真器也被用来测量每一个事务的响应时间,以及用来模拟键入时间及思
考时间,键入时间是指在终端上录入数据所花费的时间,思考时间是指操作人员在终端
读取事务的结果,进行下一个事务请求之前所花费的时间。每一个事物都有一个最小键
入时间和最小思考时间。另外,这个响应时间必须在一个给定的极限值之下。
TPC-C基准测试的结果--TPC-C的吞吐量(tpmC),代表的是系统的最大的持续性能,它被定义为系统每分钟可以处理多少个新订单事务,与此同时,系统还在处理其他四种
事务类型(支付、订单状态、交付、库存水平)。所有5个TPC-C事务都有某个限定的用户响应时间要求,其中新订单事务的响应时间是5秒以内。因此如果一个系统的TPC-C值是
100tpmC/min,说明该系统在每分钟处理其他的混合的TPC-C事务的工作的同时,可以产生100个新订单事务。
如何使用TPC-C进行服务器的评估
由上可知,TPC-C测试基准主要用于测试主机服务器每分钟能够处理的联机交易笔数,测试产生的单位结果是TPM值(Transaction Per Minute,即每分钟处理的交易比数)。
TPC-C虽然客观的反映了各个计算机厂商的系统处理性能,并且测试基准也在不断完善以更加贴近现实应用的交易环境,但是仍然无法与纷繁多样的各类实际应用完全吻合; 而且参加TPC测试的主机系统都做了适当程度的系统优化。因此,在实际业务应用系统选择主机服务器乘载体时,必须考虑到多方面的因素,以最大程度的做到适合应用系统的
生产需求。
以下计算公式是IBM公司在金融综合业务系统的实际应用中总结的经验方法论,基本反映了金融业务特点对主机处理能力的需求:
TPM=TASK x 80% x S x F / (T x C)
其中:
TASK:为每日业务统计峰值交易量
T:为每日峰值交易时间,假设每日80%交易量集中在每天的4小时,即240分钟内完成:T=240。
S:为实际银行业务交易操作相对于标准TPC-C测试基准环境交易的复杂程度比例。由于实际的金融业务交易的复杂程度与TPC?C标准测试中的交易存在较大的差异,须设定一个合理的对应值。以普通储蓄业务交易为例,一笔交易往往需要同时打开大量数据库表
,取出其相关数据进行操作,相对于TPC-C标准交易的复杂度,要复杂很多;根据科学的统计结果,每笔交易操作相比较于TPC标准测试中的每笔交易的复杂度此值可设定为