- 论坛徽章:
- 1
|
学习如何根据业务模型来计算tpcc值,挺有帮助的。
当一个新的业务系统开发完成后,需要在一个区域乃至全国推广此应用软件,如何根据业务规模来选择服务器配置、内外置磁盘大小、以及网络带宽,是一件复杂的事情。
一个最真实的评估,是建立一个接近真实业务应用的操作环境,进行各种压力测试,测算出不同的用户数量下,系统的响应时间和吞吐量,并得出当时服务器的各种资源的利用率情况,对硬件资源的完整评估,需要考虑下列三个方面:
服务器性能的评估
客户端工作站或前端桌面的评估
通讯网卡和网络带宽的评估
如果不能建立准确的压力测试环境,需要根据工业界的Benchmark对服务器进行评估,推算出符合业务规模的服务器配置,同时要考虑在做系统管理时所消耗的资源,如在做备份、恢复、问题诊断、性能分析时、软件维护时都会对资源带来附加的消耗,对重要资源要考虑为将来留下升级和可扩展的余地,下列是一些通用的原则:
处理器:要考虑高峰时的处理器的能力,并适当保留一些缓冲,确保在业务增长时,系统有扩展的余地。如果要保持快速的响应能力,应当为CPU保留20%至40%的富余量。
内存:要为运行在此服务器的所有应用软件考虑内存,所需要的内存主要依赖于用户数、应用程序类型、进程的方式、和应用程序处理的数据量决定。
磁盘:评估业务的实际用户的数据量,以此推算出磁盘的最小个数,不要忘记选择备份设备(如磁带机)。
IO槽:尽量保留更多的IO槽,防止将来插更多的PCI卡。
网络:选择合适的网卡,保证网络不是系统的瓶颈。
在评估数据库服务器性能时,最困难的事情是如何把握准确度问题,到底考虑哪些因素等。理想情况下,应考虑下列要素:
交易的复杂性
交易率
数据读/写比例
并发连接数目
并发交易数目
数据库最大表的大小
性能度量的目标
根据各种Benchmark测试结果和对各种生产系统的检测,下表概括了CPU、磁盘、内存页面、网络和虚存页交换的利用率,可看出一个服务器如果其利用率保持在Good 所标示的范围内时,是一种理想的模式。
![]()
2、 基于rPerf的推算,评估数据库服务器的CPU
rPerf(Relative performance)是从IBM公司解析模型得出的商务处理性能估计值。该模型模拟部分系统的操作,如中央处理器、高速缓存和内存,该模型没有模拟磁盘和网络的输入/输出操作。虽然采用了一般数据库和操作系统的参数,但该模型不能反映出具体的数据库或AIX版本。除非单独说明,否则rPerf均在系统推出时估计。IBM pSeries 640-B80为基准参照系统,其值为本。虽然rPerf可用于比较商业处理性能,但实际的系统性能可能不同,取决于许多因素,包括系统硬件配置和软件设计与配置。
评估数据库服务器的性能,需要理解交易的类型、高峰期的情况、用户数量、在高峰时每个用户的交易数量。假如在高峰时,有三种典型的交易类型:轻的、一般的、重的。需要知道高峰时,每种交易的并发用户数目。假定高峰时间为:10:00-11:00,每个用户的交易数目如下:
轻的交易 =120 交易/用户
一般的交易= 60 交易/用户
重的交易 = 15交易/用户
2.1、每个交易所使用的CPU秒
评估出交易类型后,需要评估出运行每个交易所消耗的CPU秒,如果假定B80服务器每秒中支持10个交易,则每个交易需要消耗0.1个CPU秒。如果不知道如何评定CPU秒,则根据应用类型参照下列表。
![]()
2.2、评估服务器所需的rPerf值
服务器所需要的rPerf值=SUM(NU * TX * CS/PP) / MC
NU:高峰时并发的用户数
TX:高峰时每个用户的交易数量
CS:在rPerf=1的服务器上,每个交易所需要的CPU秒
PP:高峰持续的时间
MC:最大的CPU利用率(推荐3≈34万。
这些客户当中,至少有一半是个人客户,另一半是企业客户。企业客户的交易频率比较高,我们按平均每个企业客户每天做1.5笔交易计算;个人客户常用的交易是查询、取款、存款,并且每个月还要交电话费,因此我们假定个人客户平均每个月做4次交易;那么,每天的交易量就是:
34万×50%×1.5+34万×50%×(4÷30) ≈28万笔
假设网上银行的交易复杂度达到15,那么,每天的数据库操作数达到:
28万×15=420万次
高法诉讼费缴费:
由于诉讼费的增长量不大,我们按年递增率5%计算。根据XYZ总行的统计,全国共37家分行,缴费量比较大的分行可以达到25000笔每月,占分行总数的20%;缴费量中等的省可达到15000笔每月,占分行总数的30%;缴费量小的省可达到7000笔每月,占分行总数的50%;按一个月20个工作日计算。这样,三年后每天的交易数量可以达到:
(25000×20%+15000×30%+7000×50%)×37÷20×(1+5%)3≈28740笔
我们假设高法诉讼缴费的交易复杂度达到13,那么每天的数据库操作达到:
28740*13=373620次
4.1、整体性能要求:
总的数据库操作次数是:4200000+373620=4573620
假设每天的交易的80%集中在4小时内发生,那么高峰交易时间内每分钟的数据库联机交易次数为:4573620×80%÷(4×60)≈15250
要为将来陆续加入的应用预留40%的处理能力;另外,考虑到CPU的繁忙时间低于70%时,系统的性能较好,我们把这个比例定在65%。所以系统的TPC-C值应达到:15250÷(1-40%)÷65%≈39000
4.2、内存容量需求分析
首先根据数据库容量算出所需的数据库缓存大小,再估计出操作系统、系统软件等所需内存,合计即是所需的内存容量。
网银数据量分析:
XYZ总行网上银行系统的数据库由CIF信息,交易日志、交易流水三部分组成。
其中:CIF信息包括企业客户和个人客户信息,企业客户信息平均大小为20K左右,个人客户信息平均大小为5K左右;每一笔交易都要记交易日志,日志的平均大小为4K左右;每一笔转帐交易都要记交易流水,交易流水的大小为2K左右。
这些客户当中,至少有一半是个人客户,另一半是企业客户。企业客户的交易频率比较高,我们按平均每个企业客户每天做1.5笔交易计算;个人客户常用的交易是查询、取款、存款,并且每个月还要交电话费,因此我们假定个人客户平均每个月做4次交易;那么,每天的交易量就是:
所有的交易日志和交易流水都要保留三个月。由于个人客户的转帐交易非常少,可以忽略不计;假定企业客户的转帐交易占总交易量的70%。我们就可以计算网上银行对存储系统容量的要求:
CIF信息容量=20K×(34万×50%)+5K×(34万×50%)=3.25GB+421MB ≈ 4GB
交易日志容量=[34万×50%×1.5+34万×50%×(4÷30)] ×4K×30×3 =277667×4K×30×3 ≈95GB
交易流水容量=(34万×50%×1.5)×70%×2K×30×3 ≈30GB
XYZ网上银行总体数据容量要求:=4GB+95GB+30GB=129GB
高法诉讼费数据量分析:
高法的交易数据按要求要保留三年,每笔交易记录的大小为512字节,总体容量为:(25000×20%+15000×30%+7000×50%)×37×12×3×0.5K≈8.2GB
因此,数据库的总数据量为: 129GB+8.2GB=137.2GB
数据库系统在缓存容量达到数据库总容量的5%时性能较好,因此,数据库缓存大小为:6.86GB。
从而计算出系统内存需求为:
1.AIX操作系统所占的内存 128MB 2.数据库管理系统所占的内存 256MB3.双机热备等系统软件所占的内存 128MB4.应用程序所占的内存 256MB5.数据库缓存 6.86GB6.合理的内存利用率 75% 总计 10GB
4.3、 存储容量需求分析
除了上述的XYZ网上银行系统和高法诉讼费缴费系统的存储容量要求之外,还有异步查询下载服务的存储要求。
异步查询下载服务每隔1小时生成一个下载数据包,每个数据包的大小为3MB,需要下载的数据包是上午十点生成的数据包,这个数据包需要保存2年,其它数据包只要保存3个月。因此,存储容量为:
23×3M×30×3+1×3M×365*2=6GB+2GB=8GB
为避免存储系统成为系统性能的瓶颈,系统存储系统的使用率应小于40%,建议采用镜像方式存储数据,因此总的存储容量为:
(137.2GB+8GB)÷40% ×2= 766GB
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/535/showart_20310.html |
|