数据库性能估算概述
对于传统的TPMC业务模型测算可以看到的是该测算模型既包括了应用服务器也包括了数据库服务器,那么两者之间应该是如何去分配比例?这是一个问题。其次该文可以看到的是可以单独去估算数据库的TPM和TPC值。则首先要搞清楚的是一笔交易本身涉及到多少次数据库事务操作,每笔交易的复杂度是多少?最难的点还是在这里。这里又是一个经验数据。
其次估算考虑两个问题。
一个是数据库CPU利用率应该在70%左右为最好,太低了硬件估算过于偏大做无必要投入,太大了CPU负荷太高影响系统高可靠性。
第二个问题仍然是3-5年的硬件的可扩展性,3-5年业务并发的增长量情况究竟如何。
最后我们估算的时候一定是要考虑峰值的时候的场景,找到业务交易峰值的天和峰值的时段数据。
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标准测试中的每笔交易的复杂度比值可设定为10~20。
C:为主机CPU处理余量。实际应用经验表明,一台主机服务器的CPU利用率高于80%则表明CPU的利用率过高会产生系统瓶颈,而利用率处于75%时,是处于利用率最佳状态。因此,在推算主机性能指标时,必须考虑CPU的冗余,设定C=75%。
F:为系统未来3~5年的业务量发展冗余预留。
综上所述,为保障联机业务处理性能要求,我们可推算得出主机所需的处理能力,据此得出相应的机型和配置。