应该如何进行POC测试?—【DBA从入门到实践】第三期

news2025/1/11 7:46:17

在数据库选型过程中,为确保能够灵活应对数据规模的不断扩大和处理需求的日益复杂化,企业和技术人员会借助POC测试来评估不同数据库系统的性能。在测试过程中,性能、并发处理能力、存储成本以及高可用性等核心要素通常会成为大家关注的焦点,以确保所选产品能够满足特定的业务需求和性能标准。

那么,针对OceanBase数据库,我们该如何进行测试,才能更好的感知分布式数据库的特性呢?

敬请关注4月17日(周三)晚7点半的《DBA从入门到实践》第三期,我们将了解到:

  1. 结合OceanBase数据库的特性,了解POC测试中常见的测试点
  2. 介绍影响 OceanBase 性能的因素,常见的Benchmark如何跑出较优的性能
  3. 常用Benchmark工具的测试模型、测试方法,性能问题排查的基本思路
  4. 如何对OceanBase进行并行导入、数据压缩、高可用测试

点击下方链接报名学习~

【DBA从入门到实践】第三期

内容抢 “鲜” 知

(一)OceanBase测试概述

  • 性能测试

数据库性能测试是业务选型和PoC测试中的重点关注指标,涉及多种评估标准和测试工具。OceanBase作为一款实时HTAP数据库,同时支持在线实时交易及实时分析两种场景。一方面,为了评估数据库OLTP(联机事务处理)的性能,我们常用标准化测试工具如Sysbench和TPC-C来衡量数据库在处理高并发事务、维持数据完整性及快速响应查询请求方面的能力。另一方面,为了评估数据库OLAP(联机分析处理)的性能,我们通常会通过TPC-H这样的工具来模拟多维数据集的复杂查询和分析操作,检验系统对于大数据量的处理和响应能力。本期教程将介绍这些常用Benchmark工具的测试模型、测试方法。

  • 并行导入测试

在OLAP场景下,大量数据的并行导入,即数据批处理能力也是PoC测试中不可或缺的一环,数据批量写入操作的速度和稳定性,对于需要处理大量数据迁移或同步任务的用户来说至关重要。OceanBase 数据库的并行执行框架能够将 DML 语句也通过并发的方式进行执行,对于多节点的数据库,能够实现多机并发写入,并且保证大事务的一致性。本期教程将为大家介绍OceanBase常用的并行导数方式和测试方法。

  • 数据压缩测试

在完成业务数据导入后,数据压缩也是用户经常关注的测试点。随着存储成本的持续上升和对高效数据访问的不断追求,低成本存储及高效处理海量数据信息已成为提升数据库产品竞争力的重要因素,数据库压缩技术也成为优化数据库性能和降低总成本的关键手段。进行数据压缩测试旨在量化数据压缩前后对存储空间的节省,评估压缩数据对查询和事务处理性能的具体影响,以及验证数据的完整性和恢复过程的可靠性。本期教程将举例介测试绍OceanBase数据压缩比的测试方式。

  • 高可用测试

数据库系统在应用架构中承担了数据存储和查询的重要角色,企业数据的高可用对保障业务连续性至关重要。高可用也是数据库测试中重点考察的因素。OceanBase 数据库基于 Paxos 协议实现了多副本容灾方案,对用户提供少数派故障时 RPO = 0 (Recovery Point Objective,数据恢复点目标) ,RTO < 8s (Recovery Time Objective,恢复时间目标) 的高可用能力。本期教程将为大家带来容灾场景下高可用测试的基本方案。

(二)影响 OceanBase 性能的因素

数据库的性能往往受到多个方面因素的影响,包括数据库软件、操作系统参数、资源分配、数据库参数调优,以及合并与统计信息收集等。从数据库软件层面来看,代码的优化、算法的选择,以及系统架构的设计,都直接影响着数据库的性能。OceanBase作为一款高性能的HTAP数据库,在版本的迭代过程中,也一直持续致力于提升数据库性能并降低资源消耗。

在本期教程中,将为大家介绍以下几个对OceanBase数据库性能的影响因素:

  • 操作系统参数。
  • 资源分配,包括磁盘划分、Primary Zone、分区表、表组、局部索引与分区索引。
  • OLTP和OLAP场景下,数据库的参数调优。
  • 合并与统计信息收集。

(三)Benchmark性能问题排查的基本思路

在我们性能测试的过程中,有时候会遇到性能不符合预期的场景,OceanBase数据库是原生分布式数据库系统,根因分析通常是比较繁琐的,因为涉及的因素较多,比如机器环境、配置参数、运行负载等。我们整理了OLTP和OLAP场景下性能不符合预期时,基本的排查思路。

首先,我们推荐使用obdiag工具对给OceanBase做个体检,检查集群整体的健康状态。

OLTP场景:

  • 排查问题时,通常可以先设置primary为单zone,运行sysbench中oltp_point_select的case,观察observer的cpu是否可以跑满,简化基本的问题场景。
  • 检查client -> proxy -> observer链路上硬件资源的瓶颈,包括各个链路组件的cpu、内存、网络带宽、磁盘、网络延迟等。
  • 检查测试步骤是否与官网标准步骤一致,比如运行oltp_read_write和oltp_write_only场景下时,如果用户不设置-rand-type=uniform,或者table-size和tables的范围比较小,会导致性能测试中id或表名的取值过于集中,容易触发死锁。
  • 通过top –H –p pid观察cpu使用情况,小规格场景下,可以关注MINI_MERGE、MINOR_EXE(转储合并线程)的开销。

OLAP场景:

  • 检查租户资源配置,评估相对测试的数据量,租户cpu、内存配置是否充足。
  • 观察并行执行下机器的cpu水位、磁盘I/O负载。
  • 检查测试步骤是否与官网标准步骤一致, AP场景下关键的Observer参数配置,ob_sql_work_area_percentage、 parallel_servers_target等。
  • 通过查询视图CDB_OB_MAJOR_COMPACTION中, STATUS字段是否为IDLE,判断合并任务是否正常结束。
  • 通过查看视图DBA_OB_TASK_OPT_STAT_GATHER_HISTORY, STATUS字段是否为SUCCESS,判断统计信息收集是否正常进行。
  • 检查执行计划是否正常,关注执行计划中dop的值,观察sql查询是否正常。

更多精彩内容请锁定4月17日《DBA从入门到实践》第三期~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1589486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KNN分类算法的MATLAB实现以及可视化

一、KNN简介 KNN算法&#xff0c;即K-Nearest Neighbors&#xff0c;是一种常用的监督学习算法&#xff0c;可以用于分类问题&#xff0c;并且在实际应用中取得了广泛的成功。 二、KNN算法的基本原理 对于给定的测试样本&#xff0c;KNN算法首先计算它与训练集中所有样本的距…

电子元器件线上交易商城搭建的价值和必要性-加速度jsudo

随着科技的飞速发展&#xff0c;电子元器件行业正迎来前所未有的变革。为了满足市场对于电子元器件采购的便捷性、高效性和多样性的需求&#xff0c;电子元器件商城的开发显得尤为重要。本文将探讨电子元器件商城开发的重要性、主要功能以及它如何助力行业发展。 电子元器件商城…

Open CASCADE学习|BrepOffsetAPI_ThruSections无法放样成Solid

目录 1、边界线&#xff08;TopoDS_Wire&#xff09;不在一个平面上时&#xff0c;无法生成Solid 2、边界线&#xff08;TopoDS_Wire&#xff09;在一个平面上时&#xff0c;可以生成Solid 3、边界线&#xff08;TopoDS_Wire&#xff09;不在一个平面上时&#xff0c;添加To…

每日OJ题_01背包①_牛客DP41 【模板】01背包(滚动数组优化)

目录 牛客DP41 【模板】01背包 问题一解析 问题二解析 解析代码 滚动数组优化代码 牛客DP41 【模板】01背包 【模板】01背包_牛客题霸_牛客网 #include <iostream> using namespace std;int main() {int a, b;while (cin >> a >> b) { // 注意 while 处…

力扣刷题 二叉树层序遍历相关题目II

NO.116 填充每个节点的下一个右侧节点指针 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;…

《疯狂java讲义》Java AWT图形化编程中文显示

《疯狂java讲义》第六版第十一章AWT中文没有办法显示问题解决 VM Options设置为-Dfile.encodinggbk 需要增加变量 或者这边直接设置gbk 此外如果用swing 就不会产生这个问题了。

视频中会动的进度条

视频中会动的进度条 1.成果展示&#xff1a;2.步骤&#xff1a; 1.成果展示&#xff1a; 2.步骤&#xff1a;

In Memoriam Fabrizio Flacco

一、背景 最近在看人机协作相关的论文&#xff0c;其中有一篇是Arash Ajoudani于2018发表在Autonomous Robots题为Progress and prospects of the human–robot collaboration的综述。当看到最后Acknowledgements部分&#xff0c;有一句话是The authors would like to thank a…

【React】React18+Typescript+craco配置最小化批量引入Svg并应用的组件

React18Typescriptcraco配置最小化批量引入Svg并应用的组件 前言创建React Typescript项目通过require.context实现批量引入Svg安装[types/webpack-env](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/README.zh-Hans.md)解决类型报错安装[craco](https://…

如何免费搭建幻兽帕鲁服务器?

雨云是一家国内的云计算服务提供商&#xff0c;为了吸引用户推出了积分兑换云产品活动&#xff0c;只需要完成简单积分任务即可获得积分&#xff0c;积分可以兑换免费游戏云、对象存储或者虚拟主机。本文将给大家分享雨云免费游戏云领取及幻兽帕鲁开服教程。 第一步&#xff1a…

每日一题---OJ题: 合并两个有序链表

嗨!小伙伴们,好久不见啦! 今天我们来看看一道很有意思的一道题---合并两个有序链表 嗯,题目看上去好像不难,我们一起画图分析分析吧! 上图中,list1有3个结点,分别为1,2,3 ; list2中有3个结点,分别为1,3,4, 题目要求我们要将这两个链表合并到一起,并且是升序,最后将链表返回。 …

【JAVA基础篇教学】第六篇:Java异常处理

博主打算从0-1讲解下java基础教学&#xff0c;今天教学第五篇&#xff1a; Java异常处理。 异常处理是Java编程中重要的一部分&#xff0c;它允许开发人员在程序运行时检测和处理各种错误情况&#xff0c;以保证程序的稳定性和可靠性。在Java中&#xff0c;异常被表示为对象&am…

大型网站系统架构演化

大型网站质量属性优先级&#xff1a;高性能 高可用 可维护 应变 安全 一、单体架构 应用程序&#xff0c;数据库&#xff0c;文件等所有资源都在一台服务器上。 二、垂直架构 应用和数据分离&#xff0c;使用三台服务器&#xff1a;应用服务器、文件服务器、数据服务器 应用服…

TCM SRAM等五块内存的使用和动态分配

TCM SRAM等五块内存的使用和动态分配 配置sct文件内存使用动态内存分配rtx_lib.hrtx_memory.cmain.c 配置sct文件 LR_IROM1 0x08000000 0x00200000 { ; load region size_regionER_IROM1 0x08000000 0x00200000 { ; load address execution address*.o (RESET, First)*(InRoo…

1113. 红与黑--Flood Fill 算法

目录 1113. 红与黑--Flood Fill 算法---宽搜&#xff08;BFS&#xff09;或DFS&#xff09; 输入格式 输出格式 数据范围 输入样例&#xff1a; 输出样例&#xff1a; 思路&#xff1a; 1.BFS 思路&#xff1a; 2.DFS 思路 方法一&#xff1a;&#xff08;BFS&#x…

玉伯也创业了,曾经的互联网高P也慢慢的落幕了

玉伯是真创业还是被动创业&#xff1f;毕竟&#xff0c;在阿里的时候&#xff0c;他可是Ant Design和语雀的大佬&#xff0c;风光无限&#xff0c;谁都知道他的大名。但后来&#xff0c;他去了字节&#xff0c;待了不到一年就跑了&#xff0c;现在选择出来创业。是不是曾经的那…

文章分享:《二代测序临床报告解读指引》

&#xff3b;摘要&#xff3d; 二代测序&#xff08;next generation sequencing&#xff0c;NGS&#xff09;已成为中国临床肿瘤医生常用检测工具&#xff0c;而中国超 90%临床医生需要 NGS 报告解读支持。因此&#xff0c;为提升临床医生 NGS 报告解读能力&#xff0c;特编写…

ETL结合飞书快速实现业务信息同步

一、ETL工具介绍 ETLCloud数据集成平台是一款针对IT以及数据工程师推出的全域数据集成平台产品。它是集实时数据集成和离线数据集成以及API发布为一体的数据集成平台。与其他开源数据集成工具相比&#xff0c;系统采用轻量化架构、具有更快的部署速度、更快的数据传输速度、更…

宏景eHR customreport/tree SQL注入漏洞复现

0x01 产品简介 宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合,满足动态化、协同化、流程化、战略化需求的软件。 0x02 漏洞概述 宏景eHR customreport/tree 接口处存在SQL注入漏洞,未经过身份认证的远程攻击者可利用此漏洞执行任意SQL指令,从而窃取数据库…

HarmonyOS-数据请求(http / axios)

一、http数据请求 步骤&#xff1a; 1.在module.json5中申请ohos.permission.INTERNET权限 "module": {"requestPermissions": [{ "name": "ohos.permission.INTERNET" }],...} 2.在xxx.ets页面中导入&#xff1a;import http fro…