HCCDE-GaussDB相关计算题
第1题:计算tps
某业务系统拥有用户1000w,每天20%用户操作平均使用3次,其中系统每天的核心时间段80%业务处理时间分布在上午10:00-12:00和下午14:00-16:00,每次核心业务操作关联的事务个数为8个,请问业务初始的tps需求为多少?
步骤1:估算系统每天的业务量T0
T0=1000w * 0.2 * 3 = 10000000 * 0.2 * 3 =10000000 * 0.6 = 6000000
步骤2:估算核心时间段的业务量T1
T1=T0 * 0.8 / (4 * 60) = 6000000 * 0.8 / (4 * 60) = 4800000 / 240 = 20000
步骤3:跟据每次核心业务操作关联的事务个数,再计算每分钟的业务量T2
T2=T1 * 8 = 20000 * 8 = 160000
步骤4:再将tpm换算成tps
T3=T2 / 60 = 16000 / 60 ≈ 2667.67 tps
注:考题中如果还给出扩展策略,预留策略,还有业务的复杂度,哪么您要进行按场景计算。
1、如业务系统预算每年同比增长20%,需要考虑未来3年的扩展需求,
2、要求资源利用率小于50%,
3、某业务系统复杂 SQL 较多,在工程实施阶段一般采用经验系数 1.6。
那么:(T3 * (1+ 20%) * (1+ 20%) * (1+20%) ) / 0.5 * 1.6
= (2667.67 * 1.2 * 1.2 *1.2 )/ 0.5 * 1.6
≈ 14751 tps
第2题:计算表存储大小
假设表 T 的 1000w 行,有 10 列,8列为INTEGER 类型,2列为date类型 ,假设表的填充因子 FILLFACTOR 是默认 100,请计算表的存储大小Mb?

根据计算公式:
每页大小8KB = 表页面头大小40KB + 每页最大记录数N * (元组头大小24B + 元组指针大小4B + 数据类型占用大小)
推导:
每页最大记录数N =(每页大小8KB - 表页面头大小40B) / (元组头大小24B + 元组指针大小4B + 数据类型占用大小)
每页最大记录数N =(8KB * 1024 - 40B) / (24B + 4B + (8 * 4 + 2 * 8))
每页最大记录数N= 8152B / (28B+48B) ≈ 107条
T表的大小为= (1000w / 107) * 8KB = 747663.55 /1024 ≈ 730.14Mb
注:在GaussDB各数据类型大小不一,在设置表字段类型时需要按需存储是设置表的基本要求:
