• 快捷搜索
  • 全站搜索

信息系统性能容量预测模型研究

2016-11-17 15:03:07作者:华夏银行科技开发中心 冯振兴 陶冶 王亚喆编辑:金融咨询网
银行信息系统主流架构部署为集群部署或热备模式。随着硬件配置的提升或应用集群数量的增加,系统处理性能变化大致可归类为线性增长和非线性增长。 银行信息系统主流架构部署为集群部署或热备模式。随着硬件配置的提升或应用集群数量的增加,系统处理性能变化大致可归类为线性增长和非线性增长。

在进行性能测试时,我们往往难以搭建一套与生产环境同等规模的被测系统,更为困难的是硬件配置和物理架构的不一致,使测试结果难以准确有效地映射到生产系统。

系统性能容量预测模型研究

  银行信息系统主流架构部署为集群部署或热备模式。随着硬件配置的提升或应用集群数量的增加,系统处理性能变化大致可归类为线性增长和非线性增长。基于系统处理性能与硬件配置、架构关系的关联分析,我们可以通过单机系统的性能测试结果来预测配置更高、架构更复杂的系统性能容量,预测方法包括线性和非线性预测。

  1.线性预测。系统处理能力增长与硬件配置提升符合线性增长关系时,可做线性预测。如某单机系统在硬件配置为8C/32G条件下测得50TPS,则在单机配置为32C/128G的硬件条件下,系统最大处理能力不超过200TPS。

  2.非线性预测。主要包括3个模型。

  ★拟合曲线预测模型。在一定压力范围内,随着并发用户数的增长,交易系统的TPS也会随之增加,并且所有并发数都有唯一TPS值与之对应。通过这种对应关系,我们可以利用实际测试和数据分析建立系统并发数/TPS增长曲线。这条曲线在不同硬件条件下应有一定的相似性,我们可以利用这种系统特性通过拟合曲线去预测生产系统性能容量。

  比如采集整理某系统测试环境与生产环境性能数据样本,通过曲线拟合方法预测该系统在生产环境并发用户数达到70和80时,系统分别达120TPS和135TPS(如图1)。

图片3.jpg
图1 拟合曲线预测图

  ★TCA预测模型。TCA(Transaction Cost Analysis)交易成本理论最早应用于对每一笔交易的成本分析。大型IT公司将此思路引用至信息技术领域中,提出了信息系统交易成本计算方法,为预测系统性能容量提供了可能性,我们将此方法运用到预测生产系统性能容量过程中。

  任何业务在信息系统上运行都需消耗硬件资源,我们把完成某个特定业务所消耗的硬件资源认为是该业务的单位交易成本。对于相同交易或交易集合,完成其基础运行的单位交易成本应是不变的,即使在不同的环境运行,其所消耗的单位硬件资源也是基本恒定的。通过这种恒定关系,我们可以利用CPU资源消耗量推算不同环境的性能容量转化关系。

  假设性能测试环境的TPS为T1,CPU数量为N1,CPU频率为Hz1,每交易CPU单位成本为COST,则有COST=(N 1*Hz1*CPU使用率)/T1。

  假设生产环境的性能容量为T2,CPU数量为N2,CPU频率为Hz2,则有T2=(N2*Hz2*0.7)/COST。其中COST为性能测试环境计算出的每交易CPU单位成本,0.7为安全容量,即生产环境的CPU利用率阈值。

  如某系统在性能测试环境测得CPU利用率在60%状态下,可达1 00TPS,其中性能测试环境CPU数量为16,频率为3GHz,则可计算此系统的每交易CPU单位成本为:(16*3*60%)/100=0. 288。若生产环境CPU数量为32,频率为3.5 GHz,则可推算生产环境可支持TPS为:(32*3.5*70%)/0.288=272TPS。

  ★集群容量预测模型。做集群架构系统性能容量预测时,先运用其他方法推算生产系统单机处理能力,再估算集群性能容量。集群的性能容量并不是线性倍增关系,当集群机器的数量增加到一定程度,由于集群管理、网络带宽及数据交换等原因,集群整体的性能容量增长会趋于停止。

  依据测试数据分析归纳,我们建立了集群容量计算模型,假设单机处理能力为T,集群主机数量为N,损失系数为K,则集群容量=T*{N—K*[N*(N+1)/2—1]),其中损失系数根据系统类型不同,取值范围在0.05~0.2,常规默认可取近中间值0.1。比如当前单机性能容量为100TPS,则扩展为2台主机集群的性能容量为:1 00*(2-0.1*(2*3/2—1))=1 80TPS,扩展为3台主机集群的性能容量为:1 00*(3一0.1*(3*4/2—1))=250TPS。

验证对比分析

  1.线性预测应用分析。为验证线性预测方法的准确性,可在同型号、不同配置的两套主机部署同一套A系统进行性能测试。

  如表1所示,通过对比测试结果与线性预测估值,发现线性预测结果明显偏高,查看高配置主机测试过程,发现系统硬件资源冗余较大,系统处理能力并不会随着并发用户数的增加而增长,此时系统性能瓶颈应为系统自身。

图片4.jpg

        线性估算过程中,应充分考虑系统自身性能瓶颈的存在,系统处理能力不会随着硬件资源增加无限提升,尤其是配置差距较大的两台主机,更应注意线性估算误差较大的风险。

  2.拟合曲线预测应用分析。为验证拟合曲线预测模型的准确性,可在不同型号、不同配置的两台主机部署同一套B系统进行性能测试。

  通过对比测试结果与拟合曲线估值(见表2),发现预测结果同样存在明显偏高的问题,且测试过程中,高配置主机硬件资源冗余较大,此时系统性能瓶颈仍为系统自身。

图片5.jpg

  拟合曲线预测过程中,同样需要充分考虑系统自身性能瓶颈的存在,控制估算偏离较大的风险,且估算过程需要获取生产系统运行数据支持,预测过程较复杂,成本较大。

  3.TCA应用分析。为验证TCA预测模型的准确性,可在不同型号、不同配置的两台主机部署同一套B系统进行性能测试,其中测试环境CPU资源使用率为60%,TCA估算按生产环境CPU使用率安全阈值为70%计算。

  通过对比测试结果与TCA预测估值(见表3),发现预测结果同样偏高,且测试过程中,高配置主机硬件资源冗余较大,此时系统性能瓶颈仍为系统自身。

图片6.jpg

  TCA模型预测过程中,不能忽略系统性能瓶颈因素,同时本预测方法以假设IO、网络等不成为瓶颈为基础,且在测试环境进行单位交易成本测算时,测试环境CPU使用率不能过高,否则交易成本计算容易失真,影响预测结果准确性。

  4.集群容量预测模型应用分析。为验证集群容量预测模型的准确性,我们部署了一套4台主机集群的C系统进行性能测试。通过对比测试结果与集群预测估值(见表4),发现预测结果与实际测试结果基本相符。随着集群主机数量的增加,集群整体处理性能有提升,但增幅逐渐下降,集群整体处理性能并未随主机数量增加不断提升。集群容量预测过程中,损失系数应根据系统类型不同进行适当调整。为保证预测精度,对于消耗硬件资源较直接的系统应降低损失系数,对于硬件资源依赖性较低的系统应适当提高损失系数。

图片7.jpg

  上述预测模型各有优劣,也存在一定局限性(见表5)。一般而言,以上方法预测单机性能容量的80%更接近于实际最大处理能力。对风险级别较高的系统,最大性能容量估算还应更加保守。进行集群容量预测时,应着重考虑损失系数的设定因素,如有条件可在测试环境进行扩展性测试,取扩展性测试值来计算该系统损失系数,从而提高预测生产系统集群容量的准确性。

图片8.jpg

(文章来源:《金融电子化》杂志)
 

扫码即可手机
阅读转发此文

本文评论

相关文章