# databench-a-p **Repository Path**: caict-databench/databench-a-p ## Basic Information - **Project Name**: databench-a-p - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-24 - **Last Updated**: 2024-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 分析型数据库性能测试 ## 硬件环境 分析型数据库性能测试的硬件环境由中国信通院提供。测试人员需在中国信通院实验室机房使用指定的标准测试服务器集群进行测试,整个服务器集群不连接外网,内网通过一套千兆内网和一套万兆内网互相连接。测试共使用21台服务器,20台用于部署被测数据库,1台用于部署分析型数据库性能测试工具。 对于节点数大于100的分析型数据库可进行大规模分析型数据库性能测试,大规模测试的硬件环境由测试厂商自行准备。 ## 测试用例 分析型数据库性能测试分为5台、10台、20台三组集群规模;5T、10T两组数据规模。共设置5个测试用例,分别为: 1. 5台集群、5T数据 2. 10台集群、5T数据 3. 10台集群、10T数据 4. 20台集群、5T数据 5. 20台集群、10T数据 分析型数据库性能测试可选金融场景或电信场景,对应的数据规模设置方式如下。 金融场景: * 5T数据:$user\_basic=7500000$、$product\_basic=250$ * 10T数据:$user\_basic=15000000$、$product\_basic=500$ 电信场景: * 5T数据:$dwa\_d\_cus\_user\_info=95000000$ * 10T数据:$dwa\_d\_cus\_user\_info=190000000$ 上述列表中未提到的参数无需修改,维持初始值即可。能力测试中轮训次数设置为1次,吞吐量测试中并发度设置为10。 ## 测试用例(大规模分析型数据库性能测试) 大规模分析型数据库性能测试共设置1个测试用例,数据规模为30T,设置方式如下。 * 金融场景:$user\_basic=45000000$、$product\_basic=1500$ * 电信场景:$dwa\_d\_cus\_user\_info=570000000$ 上述列表中未提到的参数无需修改,维持初始值即可。能力测试中轮训次数设置为1次,吞吐量测试中并发度设置为10。 ## 测试流程 测试时间为7天。测试人员进入中国信通院实验室机房7*24小时后未完成所有测试用例则视为未通过测试。 测试人员进入机房后,需要在指定的服务器集群中选择规定数量的服务器并按照需要设置RAID、安装操作系统、部署测试工具和被测数据库。测试人员可自带笔记本电脑连接千兆内网进行操作。由于服务器集群不连接外网,且机房没有可连接外网的有线网络或WIFI网络,请测试人员提前准备测试需要的操作系统安装镜像和相关软件。推荐使用U盘安装操作系统。 被测数据库部署完成后,测试人员需对被测数据库的主界面或版本信息界面进行截图,填入检验报告中“检验样品照片”页。注意测试人员应在开始测试的当天或合理时间范围内进行截图,请留意图片上的时间信息。 被测数据库部署完成后应部署测试工具,具体部署方式请参考《分析型数据库性能测试工具》。部署完成后需进行测试前审核以确认测试配置无误。测试前审核的具体要求可参考检验报告附件中“测试审核”部分,请按照要求操作并对操作结果进行截图填入相应位置。测试前审核结果无误后可执行测试用例的测试。测试审核部分填入的内容应为截图形式,不得直接复制粘贴代码或命令行界面输出的文字。 各测试用例的测试执行完毕后,需对测试工具展示的测试结果进行截图填入检验报告附件中“测试记录”部分。测试记录中填入的内容应为截图形式,不得直接复制粘贴测试工具输出的文字。 测试结果确认无误后,需将测试得出的各项指标的精确数值以文字的形式填入检验报告中“检验结果”页的相应位置。 对于每个性能测试的测试用例,测试人员最多可记录三次成绩并取最优值填入检验报告。 ## 测试指标 本项测试设置有三项关键指标:测试性能指标、性价比指标、营销推荐代价指标。 测试性能指标(Performance)反映了待测数据库执行测试的性能,值高为佳。计算公式为: ${Performance}=\frac{\frac{Allocation}{Standard}\times{threadNum}\times{SQLFinishDegree}}{\sqrt[4]{{0.01}\times{L_{cost}}\times{\Sigma{P_{cost}}}\times{\Sigma{T_{cost}}}\times{\Sigma{B_{cost}}}}}$ * $\frac{Allocation}{Standard}$:配置数据规模与标准规模的比值 * $Standard$:表示数据规模的基准配置,以精准营销为例,若$user\_basic=30000000$、$product\_basic=1000$,则$Standard={30000000}\times{1000}$ * $Allocation$:与实际配置数据量相关,若$user\_basic=3000$、$product\_basic=10$,则$Allocation={3000}\times{10}$ * $threadNum$:代表并发测试的线程数量或客户端数量 * $SQLFinishDegree$:SQL完成度,在测试过程中超时执行或语法不兼容执行失败的SQL记为失败,同时根据并发数和轮询次数与SQL通过数乘积计算SQL总量 * $L_{cost}$:数据导入时间 * $\Sigma{P_{cost}}$:串行测试总时间 * $\Sigma{T_{cost}}$:并发测试总时间 * $\Sigma{B_{cost}}$:业务测试总时间 性价比由性能指标(Cost Performance,CP)除以实验可用的硬件资源量得到,反映了待测数据库利用硬件资源的性价比,值高为佳。计算公式为: $CP=\frac{Performance}{{\Sigma{Cores}}\times{\Sigma{Memory}}}$ * $Performance$:取性能指标的测试结果 * ${\Sigma{Cores}}\times{\Sigma{Memory}}$:参与数据库测试的总CPU核数和内存总量的乘积 营销推荐(Cost Index,CI)代价指标反映了待测数据库进行营销推荐的能力,值低为佳。计算公式为: $CI=\frac{\Sigma{B_{cost}}}{\ln{(\Sigma{T_n})}}$ * $\Sigma{B_{cost}}$:业务测试总时间 * $\ln{(\Sigma{T_n})}$:计算所有参与配置的基表数据量乘积并取自然对数 ## 测试规定事项 * 测试对被测事务型数据库的具体部署方式不作要求,即对特殊组件部署在固定机器或是否全部使用了所提供的资源不作要求。 * 不可对测试表结构、字段长度等涉及数据层的内容进行修改。 * 如果出现SQL语句的语法不兼容的情况,可在不影响SQL语句的语义的前提下对SQL语句的语法进行修改。所有对SQL语句的修改应在检验报告上进行字面记录,记录的内容包括修改前后SQL语句的对照和进行修改的原因。 * 测试对除表结构、字段长度、字段个数外的优化不做限制,但应在检验报告上进行字面记录。