已合并
【资源池化】【测试报告】在线reform&视图&mes_worker #351
minty113创建于 2024年3月22日
【资源池化】【测试报告】在线reform&视图&mes_worker #351
已合并
从refs/pull/351/head合入到master
共 2 个文件变更+274-0
| @@ -0,0 +1,127 @@ | |||
| 1 | + | ||
| 2 | + | ||
| 3 | +版权所有 © 2022 openGauss社区 | ||
| 4 | + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 | ||
| 5 | + | ||
| 6 | +修订记录 | ||
| 7 | + | ||
| 8 | +| 日期 | 修订版本 | 修改描述 | 作者 | | ||
| 9 | +| :------- | :------ | :---------------------------------- | :------------- | | ||
| 10 | +| 2024-1-30 | 1.0 | 特性测试报告初稿 | liumin30023837 | | ||
| 11 | + | ||
| 12 | + 关键词: 资源池化 mes_worker 线程池化 | ||
| 13 | + | ||
| 14 | +摘要: | ||
| 15 | + | ||
| 16 | +本文对资源池化mes_worker 线程池化相关特性测试,并给出最终测试结论。 | ||
| 17 | + | ||
| 18 | +缩略语清单: | ||
| 19 | + | ||
| 20 | +| 缩略语 | 英文全名 | 中文解释 | | ||
| 21 | +| :---- | :--------------------------------------------------- | :---------------------------------------------------- | | ||
| 22 | +| NA | | | | ||
| 23 | + | ||
| 24 | +# 1 特性概述 | ||
| 25 | + | ||
| 26 | +openGauss实现对资源池化消息的处理线程mes_worker进行池化管理,从而做到随着业务压力的增加,增加对应的消息处理线程,业务压力减少,减少对应的消息处理线程。 | ||
| 27 | + | ||
| 28 | +# 2 特性测试信息 | ||
| 29 | + | ||
| 30 | +| 版本名称 | 测试起始时间 | 测试结束时间 | | ||
| 31 | +| :----------------------------------------------------------- | :----------- | :----------- | | ||
| 32 | +| openGauss 5.1.1 build 582426cb<br />openGauss 6.0.0 build d10e4849<br />openGauss 6.0.0 build d28f3889 | 2024-1-22 | 2024-1-31 | | ||
| 33 | + | ||
| 34 | +| 环境信息 | 配置信息 | 备注 | | ||
| 35 | +| :------- | :----------------------------------------------------------- | :---- | | ||
| 36 | +| 物理机 | CPU:Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz<br />内存:251GB<br />硬盘:Dorado 磁阵<br />OS: openEuler 20.03 (LTS) | | | ||
| 37 | + | ||
| 38 | +# 3 测试结论概述 | ||
| 39 | + | ||
| 40 | +## 3.1 测试整体结论 | ||
| 41 | + | ||
| 42 | +实现资源池化mes_worker 线程池化相关特性测试特性测试中,主要涉及功能验证、特性耦合测试,故障场景,性能场景测试共发现10个问题,回归通过,无遗留风险,质量一般。</u> | ||
| 43 | + | ||
| 44 | +| 测试活动 | 活动评价 | | ||
| 45 | +| :------ | :----------------------------------------------------------- | | ||
| 46 | +| 功能测试 | 验证新增ss_work_thread_pool_attr接口,以及功能,通过。 | | ||
| 47 | +| 特性耦合 | 验证升级,和按需回放+写转发交互,通过。 | | ||
| 48 | +| 故障 | 验证switchover failover 集群启停 kill进程,以及叠加故障,通过。 | | ||
| 49 | +| 性能场景 | 性能验收场景,通过。 | | ||
| 50 | +| 资料测试 | 新增参数资料验证,通过。 | | ||
| 51 | + | ||
| 52 | +## 3.2 约束说明 | ||
| 53 | + | ||
| 54 | +- 无 | ||
| 55 | + | ||
| 56 | +## 3.3 遗留问题分析 | ||
| 57 | + | ||
| 58 | +### 3.3.1 遗留问题影响以及规避措施 | ||
| 59 | + | ||
| 60 | +| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | | ||
| 61 | +| :------ | :------ | :------ | :---------------- | :------ | | ||
| 62 | +| | | | | | | ||
| 63 | + | ||
| 64 | +### 3.3.2 问题统计 | ||
| 65 | + | ||
| 66 | +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | | ||
| 67 | +| :--------- | :------ | :-- | :-- | :-- | :---- | | ||
| 68 | +| 数目 (个) | 10 | 1 | 7 | 2 | 0 | | ||
| 69 | +| 百分比 (%) | 100 | 10 | 70 | 20 | 0 | | ||
| 70 | + | ||
| 71 | +### 3.3.3 问题单汇总 | ||
| 72 | + | ||
| 73 | +| 序号 | issue号 | 问题级别 | 问题简述 | 问题状态 | | ||
| 74 | +| :-- | :---------------------------------------------------------- | :------ | :---------------------------------------------------------- | :------ | | ||
| 75 | +| 1 | https://e.gitee.com/opengaussorg/issues/table?issue=I8YAP1 | 主要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】设置GUC参数ss_work_thread_pool_attr=16 拉起业务 线程正常添加 停止业务后 线程未正常释放 | 已验收 | | ||
| 76 | +| 2 | https://e.gitee.com/opengaussorg/issues/table?issue=I8YATL | 严重 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】升级后,设置GUC参数ss_work_thread_pool_attr=128 重启失败 生成core | 已验收 | | ||
| 77 | +| 3 | https://e.gitee.com/opengaussorg/issues/table?issue=I8YHEV | 主要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】节点多次启停 节点core | 已验收 | | ||
| 78 | +| 4 | https://e.gitee.com/opengaussorg/issues/table?issue=I8YLMN | 次要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】kill 备机 switchover 后 主机偶现core | 待办的 | | ||
| 79 | +| 5 | https://e.gitee.com/opengaussorg/issues/table?issue=I8YMGR | 次要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】 switchover +kill 进程 主机unknown | 已完成 | | ||
| 80 | +| 6 | https://e.gitee.com/opengaussorg/issues/table?issue=I8ZQKG | 主要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】debug包 设置GUC参数ss_work_thread_pool_attr=16 stop集群生成core | 已验收 | | ||
| 81 | +| 7 | https://e.gitee.com/opengaussorg/issues/table?issue=I8ZY06 | 主要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】switchover 后生成core | 已验收 | | ||
| 82 | +| 8 | https://e.gitee.com/opengaussorg/issues/table?issue=I909HQ | 主要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】debug版本 主备切换+业务跑大于12小时 查询query_all_drc_info视图 卡住 | 已完成 | | ||
| 83 | +| 9 | https://e.gitee.com/opengaussorg/issues/table?issue=I90GKU | 主要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】主备切换后,在新主和备机长跑业务 几个小时后业务断 | 已验收 | | ||
| 84 | +| 10 | https://e.gitee.com/opengaussorg/issues/table?issue=I91G5E | 主要 | 【测试类型:功能测试】【测试版本:6.0.0】【资源池化】【需求名称:MES worker线程池化】kill进程后 偶现备机状态异常显示卡在升主上 | 待办的 | | ||
| 85 | + | ||
| 86 | +# 4 测试执行 | ||
| 87 | + | ||
| 88 | +## 4.1 功能测试 | ||
| 89 | + | ||
| 90 | +| 测试步骤 | 测试结果 | | ||
| 91 | +| :----------------------------------------------------------- | ----------- | | ||
| 92 | +| 1.针对资源池化mes_worker 线程池化,验证新增GUC 参数ss_work_thread_pool_attr接口测试,包括默认值、边界值、异常值等。验证 ss_work_thread_pool_attr不同取值跑业务场景以及一致性检查。<br />2.验证升级测试,包括升级不提交,升级提交,升级回滚场景下新增GUC参数ss_work_thread_pool_attr是否可以设置,已经设置成功后功能使用是否正常。<br />3.跑tpcc并对主机备机做故障,包括kill备节点进程,switchover过程中机器故障,启停过程中集群故障等。<br />4.开启按需回放+写转发,同时设置参数ss_work_thread_pool_attr跑tpcc业务做交互测试。<br />5.验收性能场景:固定MES worker线程数量和开启worker线程池下对比cpu占用率;开启128后,CPU利用率下降10%以上。 | 发现10个bug | | ||
| 93 | + | ||
| 94 | +## 4.2 资料测试 | ||
| 95 | + | ||
| 96 | +| 测试步骤 | 测试结果 | | ||
| 97 | +| :--------------------------------- | :--------- | | ||
| 98 | +| 1.验证语法资料描述及示例是否正确。 | 发现0个bug | | ||
| 99 | + | ||
| 100 | +## 4.3 测试执行统计数据 | ||
| 101 | + | ||
| 102 | +缺陷单共10个, | ||
| 103 | + | ||
| 104 | +PR: | ||
| 105 | + | ||
| 106 | +``` | ||
| 107 | +https://e.gitee.com/opengaussorg/repos/opengauss/CBB/pulls/124 | ||
| 108 | +https://e.gitee.com/opengaussorg/repos/opengauss/DMS/pulls/356 | ||
| 109 | +https://e.gitee.com/opengaussorg/repos/opengauss/openGauss-server/pulls/4728 | ||
| 110 | +https://e.gitee.com/opengaussorg/repos/opengauss/CM/pulls/175 | ||
| 111 | +https://e.gitee.com/opengaussorg/repos/opengauss/DSS/pulls/293 | ||
| 112 | +``` | ||
| 113 | + | ||
| 114 | +代码数量:1534 | ||
| 115 | + | ||
| 116 | + 缺陷密度:6.52 | ||
| 117 | + | ||
| 118 | +## 4.4 后续测试建议 | ||
| 119 | + | ||
| 120 | +无。 | ||
| 121 | + | ||
| 122 | +# 5 附件 | ||
| 123 | + | ||
| 124 | +```sql | ||
| 125 | +gs_guc set -Z datanode -N all -I all -c "ss_work_thread_pool_attr ='' " | ||
| 126 | +gs_guc set -Z datanode -N all -I all -c "ss_work_thread_pool_attr ='16' " | ||
| 127 | +``` | ||
| @@ -0,0 +1,147 @@ | |||
| 1 | + | ||
| 2 | + | ||
| 3 | +版权所有 © 2022 openGauss社区 | ||
| 4 | + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 | ||
| 5 | + | ||
| 6 | +修订记录 | ||
| 7 | + | ||
| 8 | +| 日期 | 修订版本 | 修改描述 | 作者 | | ||
| 9 | +| :------- | :------ | :---------------------------------- | :------------- | | ||
| 10 | +| 2024-1-29 | 1.0 | 特性测试报告初稿 | liumin30023837 | | ||
| 11 | + | ||
| 12 | + 关键词: 资源池化 在线reform wait_events query_all_drc_info query_node_reform_info_from_dms | ||
| 13 | + | ||
| 14 | +摘要: | ||
| 15 | + | ||
| 16 | +本文对资源池化支持在线reform,等待事件相关视图 相关特性测试,并给出最终测试结论。 | ||
| 17 | + | ||
| 18 | +缩略语清单: | ||
| 19 | + | ||
| 20 | +| 缩略语 | 英文全名 | 中文解释 | | ||
| 21 | +| :---- | :--------------------------------------------------- | :---------------------------------------------------- | | ||
| 22 | +| NA | | | | ||
| 23 | + | ||
| 24 | +# 1 特性概述 | ||
| 25 | + | ||
| 26 | +openGauss实现对资源池化支持在线reform,即对于一个集群,加入备机,踢出备机,重启备机,对于这三种场景,集群中的主机和其他备机的业务,不会中断,在集群恢复正常后,对应业务可以继续跑下去。 | ||
| 27 | + | ||
| 28 | +openGauss实现对资源池化 新增等待事件视图 DRC信息视图 Reform相关视图 有利于查看以及定位问题。 | ||
| 29 | + | ||
| 30 | +# 2 特性测试信息 | ||
| 31 | + | ||
| 32 | +| 版本名称 | 测试起始时间 | 测试结束时间 | | ||
| 33 | +| :----------------------------------------------------------- | :----------- | :----------- | | ||
| 34 | +| openGauss 5.1.1 build cc4bfd82 <br />openGauss 5.1.1 build 582426cb | 2023-12-7 | 2023-12-30 | | ||
| 35 | + | ||
| 36 | +| 环境信息 | 配置信息 | 备注 | | ||
| 37 | +| :------- | :----------------------------------------------------------- | :---- | | ||
| 38 | +| 物理机 | CPU:Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz<br />内存:251GB<br />硬盘:Dorado 磁阵<br />OS: openEuler 20.03 (LTS) | | | ||
| 39 | + | ||
| 40 | +# 3 测试结论概述 | ||
| 41 | + | ||
| 42 | +## 3.1 测试整体结论 | ||
| 43 | + | ||
| 44 | +实现资源池化支持在线reform,等待事件相关视图 相关特性测试特性测试中,主要涉及功能验证、一致性长跑测试,故障测试共发现12个问题,回归通过,无遗留风险,质量一般。</u> | ||
| 45 | + | ||
| 46 | +| 测试活动 | 活动评价 | | ||
| 47 | +| :------ | :----------------------------------------------------------- | | ||
| 48 | +| 功能测试 | 验证备机reform场景,通过。验证新增wait_events query_all_drc_info query_node_reform_info_from_dms视图功能可用,通过。 | | ||
| 49 | +| 一致性长跑 | 跑tpcc 100仓业务,验证一致性,通过,长跑通过。 | | ||
| 50 | +| 故障 | 验证switchover failover 集群启停 kill进程,以及叠加故障,通过 | | ||
| 51 | +| 资料测试 | 新增参数资料验证,通过 | | ||
| 52 | + | ||
| 53 | +## 3.2 约束说明 | ||
| 54 | + | ||
| 55 | +- 无 | ||
| 56 | + | ||
| 57 | +## 3.3 遗留问题分析 | ||
| 58 | + | ||
| 59 | +### 3.3.1 遗留问题影响以及规避措施 | ||
| 60 | + | ||
| 61 | +| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | | ||
| 62 | +| :------ | :------ | :------ | :---------------- | :------ | | ||
| 63 | +| | | | | | | ||
| 64 | + | ||
| 65 | +### 3.3.2 问题统计 | ||
| 66 | + | ||
| 67 | +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | | ||
| 68 | +| :--------- | :------ | :-- | :-- | :-- | :---- | | ||
| 69 | +| 数目 (个) | 14 | 0 | 11 | 3 | 0 | | ||
| 70 | +| 百分比 (%) | 100 | 0 | 78.5 | 21.5 | 0 | | ||
| 71 | + | ||
| 72 | +### 3.3.3 问题单汇总 | ||
| 73 | + | ||
| 74 | +| 序号 | issue号 | 问题级别 | 问题简述 | 问题状态 | | ||
| 75 | +| :-- | :---------------------------------------------------------- | :------ | :---------------------------------------------------------- | :------ | | ||
| 76 | +| 1 | https://e.gitee.com/opengaussorg/issues/table?issue=I8US16 | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:资源池化】debug版本 kill 备机1进程 备机2偶现core | 待办的 | | ||
| 77 | +| 2 | https://e.gitee.com/opengaussorg/issues/table?issue=I8TC6O | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:新增DMS、CBB等待事件统计】debug版本 节点启停+查询query_all_drc_info视图 备机生成core | 已验收 | | ||
| 78 | +| 3 | https://e.gitee.com/opengaussorg/issues/table?issue=I8T0L2 | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:新增DMS、CBB等待事件统计】debug版本 主机stop 新主查询query_all_drc_info(1) 结果为空(偶现) | 已验收 | | ||
| 79 | +| 4 | https://e.gitee.com/opengaussorg/issues/table?issue=I8ST2I | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:新增DMS、CBB等待事件统计】debug版本 主备切换+业务 偶现查询query_all_drc_info视图 24小时未出结果 堆栈pool_index 异常 | 测试中 | | ||
| 80 | +| 5 | https://e.gitee.com/opengaussorg/issues/table?issue=I8RCIO | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:支持在线reform】debug版本 业务加集群启停 数据库core | 已验收 | | ||
| 81 | +| 6 | https://e.gitee.com/opengaussorg/issues/table?issue=I8R74H | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:支持在线reform】debug版本 switchover+kill 进程 备机偶现core | 已验收 | | ||
| 82 | +| 7 | https://e.gitee.com/opengaussorg/issues/table?issue=I8QN2K | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:新增DMS、CBB等待事件统计】【需求编号:I852ED】查询query_all_drc_info(1),RESOURCE_ID 为重复值 | 已验收 | | ||
| 83 | +| 8 | https://e.gitee.com/opengaussorg/issues/table?issue=I8QA2G | 次要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:新增DMS、CBB等待事件统计】【需求编号:I852ED】备机查询query_all_drc_info,查询为空 | 已验收 | | ||
| 84 | +| 9 | https://e.gitee.com/opengaussorg/issues/table?issue=I8PAS2 | 次要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:支持在线reform】开启写转发,普通用户,在备机执行写操作,报错standbywhite could not concect | 已验收 | | ||
| 85 | +| 10 | https://e.gitee.com/opengaussorg/issues/table?issue=I8NQQT | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:支持在线reform】debug版本 主机拉起业务 备机启停 主机业务断掉 | 回归中 | | ||
| 86 | +| 11 | https://e.gitee.com/opengaussorg/issues/table?issue=I8MMET | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:支持在线reform】debug版本 switchover+kill 进程 数据库core | 已验收 | | ||
| 87 | +| 12 | https://e.gitee.com/opengaussorg/issues/table?issue=I8K48U | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:资源池化】debug版本 集群重启,备机出现core | 已验收 | | ||
| 88 | +| 13 | https://e.gitee.com/opengaussorg/issues/table?issue=I8GHD4 | 主要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:资源池化】full clean 场景 节点 加入 一直失败,然后踢出 | 已验收 | | ||
| 89 | +| 14 | https://e.gitee.com/opengaussorg/issues/table?issue=I8C13W | 次要 | 【测试类型:功能测试】【测试版本:5.1.1】【需求名称:资源池化】共享存储 单节点启停 机器状态异常(偶现) | 已验收 | | ||
| 90 | + | ||
| 91 | +# 4 测试执行 | ||
| 92 | + | ||
| 93 | +## 4.1 功能测试 | ||
| 94 | + | ||
| 95 | +| 测试步骤 | 测试结果 | | ||
| 96 | +| :----------------------------------------------------------- | ----------- | | ||
| 97 | +| 1.针对资源池化支持在线reform,验证备机reform场景包括备机节点启停,备机节点kill,备机节点剔除。验证新增视图wait_events query_all_drc_info query_node_reform_info_from_dms字段结果正确性。<br />2.跑tpcc 100仓100并发 主机读写+备机读+手动备机查询,检查业务数据一致性<br />3.跑tpcc并对主机备机做故障,包括kill备节点进程,switchover过程中机器故障,启停过程中集群故障等。验证在故障场景和新增视图的交互。<br />4.开启按需回放+写转发,和支持在线reform,新增视图做交互。 | 发现12个bug | | ||
| 98 | + | ||
| 99 | +## 4.2 资料测试 | ||
| 100 | + | ||
| 101 | +| 测试步骤 | 测试结果 | | ||
| 102 | +| :--------------------------------- | :--------- | | ||
| 103 | +| 1.验证语法资料描述及示例是否正确。 | 发现0个bug | | ||
| 104 | + | ||
| 105 | +## 4.3 测试执行统计数据 | ||
| 106 | + | ||
| 107 | +1. 支持在线reform | ||
| 108 | + | ||
| 109 | + 代码数量:222 | ||
| 110 | + | ||
| 111 | + 缺陷密度: 5 | ||
| 112 | + | ||
| 113 | +2. 新增DMS、CBB等待事件统计 | ||
| 114 | + | ||
| 115 | + 代码数量:800 | ||
| 116 | + | ||
| 117 | + 缺陷密度: 5 | ||
| 118 | + | ||
| 119 | +PR: | ||
| 120 | + | ||
| 121 | +``` | ||
| 122 | +https://e.gitee.com/opengaussorg/repos/opengauss/openGauss-server/pulls/4509 | ||
| 123 | +https://e.gitee.com/opengaussorg/repos/opengauss/DMS/pulls/320 | ||
| 124 | +``` | ||
| 125 | + | ||
| 126 | +``` | ||
| 127 | +https://gitee.com/opengauss/openGauss-server/pulls/4469 | ||
| 128 | +https://gitee.com/opengauss/DMS/pulls/312 | ||
| 129 | +https://codehub-y.huawei.com/Gauss/DDES/DMS/merge_requests/904 | ||
| 130 | +``` | ||
| 131 | + | ||
| 132 | + | ||
| 133 | + | ||
| 134 | +## 4.4 后续测试建议 | ||
| 135 | + | ||
| 136 | +无。 | ||
| 137 | + | ||
| 138 | +# 5 附件 | ||
| 139 | + | ||
| 140 | +```sql | ||
| 141 | +select * from dbe_perf.wait_events where event='req ask owner for page'; | ||
| 142 | +select * from dbe_perf.wait_events where event='req claim owner'; | ||
| 143 | +select * from pg_catalog.query_all_drc_info(0); | ||
| 144 | +select * from pg_catalog.query_all_drc_info(1); | ||
| 145 | +select * from pg_catalog.query_node_reform_info_from_dms(0); | ||
| 146 | +select * from pg_catalog.query_node_reform_info_from_dms(1); | ||
| 147 | +``` | ||