TiDB替换Starrocks:业务综合宽表迁移的性能评估与降本增效决策

作者: 我是人间不清醒 原文来源: https://tidb.net/blog/6638f594

1、 场景

业务综合宽表是报表生成、大屏幕展示和数据计算处理的核心数据结构。目前,这些宽表存储在Starrocks系统中,但该系统存在显著的性能瓶颈。例如,在高峰时段,查询性能(QPS)仅为20,99th百分位响应时间长达2.5分钟,且CPU和内存资源接近饱和。特别是在2024年,系统多次遭遇后端内存耗尽(OOM)的情况,导致需要手动干预才能恢复正常运行。鉴于Starrocks系统的版本较旧,我们正在考虑对其进行升级或者迁移到Tidb集群中。

为了评估升级Starrocks系统或迁移到TiDB集群的可行性,我们对同一环境下的TiDB集群进行了压力测试。测试结果表明,TiDB集群的性能表现超出了我们的预期,因此我们决定将业务综合宽表迁移到TiDB集群。

2、 宽表信息

image

3、 集群配置

  Starrocks 版本2.3.0 a9bdb09

image

image760×194 3.54 KB

 Tidb 版本 8.0.11-TiDB-v8.1.0

image

image753×273 4.75 KB

4、 Sql查询对比

image

image768×642 24.5 KB

\

image

image765×608 27.2 KB

5、Jmeter压测对比

压测准备:windows11 16核32G 安装jmeter

教程: Jmeter保姆级安装教程(超详细建议收藏加关注)_jmeter安装详细教程-CSDN博客

SQL语句准备:研发提供的复杂sql查询

image

线程配置:线程数200 ramp-up时间 10,持续300s;10秒钟拉起200个进程,持续300s

image

image1065×259 64.8 KB

Tidb和Starrocks服务器CPU情况:

image

image1099×315 37.3 KB

\

image

image1150×349 49.2 KB


6、结果

根据测试结果分析,Tidb在压力测试期间,除TidbServer的CPU使用率较高外,TiKV和TiFlash的表现均符合预期。然而,Starrocks的三台服务器CPU使用率过高,且吞吐量指标未能达到理想状态。

7、后续规划

鉴于Starrocks系统的性能瓶颈和资源饱和问题,以及TiDB集群在压力测试中表现出的优越性能,我们决定将业务综合宽表从Starrocks迁移到TiDB集群,并将Starrocks资源陆续释放,实现降本增效

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

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

相关文章

Vue组件开发的属性

组件开发的属性: 1.ref属性: 如果在vue里,想要获取DOM对象,并且不想使用JS的原生语法,那么就可以使用ref属性 ref属性的用法: 1)在HTML元素的开始标记中,或者在Vue子组件中的开始…

JVM、字节码文件介绍

目录 初识JVM 什么是JVM JVM的三大核心功能 JVM的组成 字节码文件的组成 基础信息 Magic魔数 主副版本号 其它基础信息 常量池 字段 方法 属性 字节码常用工具 javap jclasslib插件 阿里Arthas 初识JVM 什么是JVM JVM的三大核心功能 1. 解释和运行虚拟机指…

我的世界之合成

合成(Crafting)是一种在Minecraft中获得多种方块、工具和其他资源的方法。合成时,玩家必须先把物品从物品栏移入合成方格中。22的简易合成方格可以直接在物品栏中找到,而33的合成方格需要使用工作台或合成器来打开。 目录 1合成系…

当数据遇到威胁:强化治理以抵御网络攻击

当数据遇到威胁:强化治理以抵御网络攻击 在当今这个信息化高速发展的时代,数据已成为企业乃至国家的核心资产。无论是金融交易、医疗健康、个人隐私,还是国家安全信息,都依赖于数字系统的存储与传输。然而,随着数据价…

LabVIEW智能螺杆空压机测试系统

基于LabVIEW软件开发的螺杆空压机测试系统利用虚拟仪器技术进行空压机的性能测试和监控。系统能够实现对螺杆空压机关键性能参数如压力、温度、流量、转速及功率的实时采集与分析,有效提高测试效率与准确性,同时减少人工操作,提升安全性。 项…

Ubuntu22.04 制作系统ISO镜像

第一步:安装软件-Systemback 1.如果已经添加过ppa,可以删除重新添加或者跳过此步 sudo add-apt-repository --remove ppa:nemh/systemback 2.添加ppa 我是ubuntu20,但这个软件最后支持的是 ubuntu16.04版本,所以加一个16版本…

C++ | Leetcode C++题解之第480题滑动窗口中位数

题目&#xff1a; 题解&#xff1a; class DualHeap { private:// 大根堆&#xff0c;维护较小的一半元素priority_queue<int> small;// 小根堆&#xff0c;维护较大的一半元素priority_queue<int, vector<int>, greater<int>> large;// 哈希表&#…

LeetCode53:最大子数组和

题目链接&#xff1a;53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 代码如下 class Solution { public:int maxSubArray(vector<int>& nums) {//dp含义&#xff1a;dp[i]是以nums[i]结尾的最大连续子数组//if(nums[i] > nums[i - 1])//dp[i] dp[i…

MySQL 中如何优化 DISTINCT 查询:基于 Java 的实践与应用

全文目录&#xff1a; 开篇语前言摘要简介概述1. 使用索引优化2. 限制选择字段3. 使用 GROUP BY 替代 DISTINCT 核心源码解读Java代码示例&#xff1a;优化DISTINCT查询代码说明 案例分析案例一&#xff1a;数据去重优化 应用场景演示场景一&#xff1a;日志数据去重场景二&…

Tftpd.exe源代码分析----TftpdIoPostReceiveBuffer函数分析

第一部分&#xff1a; TftpdIoAssignSocket函数调用了TftpdIoInitializeSocketContext函数 TftpdIoInitializeSocketContext函数注册了回调函数TftpdIoReadNotification void TftpdIoInitializeSocketContext(PTFTPD_SOCKET socket, PSOCKADDR_IN addr, PTFTPD_CONTEXT conte…

学SQL第一天

一&#xff0c;SQL指结构化查询语言&#xff0c;全称是Structured Query Language。 SQL可以访问和处理数据库&#xff0c;包括数据查询&#xff0c;插入&#xff0c;更新和删除。 SQL可以创建新数据库&#xff0c;新的表和创建存储过程。 sql语句分为四类 DDL数据定义语言 …

自动化测试实施过程中需要考虑的因素!

自动化测试是软件开发过程中不可或缺的一部分&#xff0c;它能够提高测试效率、减少人力成本&#xff0c;并确保软件质量的一致性。然而&#xff0c;自动化测试的实施并非没有挑战。为了确保自动化测试的有效性和可持续性&#xff0c;开发者需要综合考虑多种因素&#xff0c;包…

【CTF-SHOW】Web入门 Web14 【editor泄露-详】【var/www/html目录-详】

editor泄露问题通常出现在涉及文件编辑器或脚本编辑器的题目中&#xff0c;尤其是在Web安全或Pwn&#xff08;系统漏洞挖掘&#xff09;类别中。editor泄露的本质是由于系统未能妥善处理临时文件、编辑历史或进程信息&#xff0c;导致攻击者可以通过某种途径获取正在编辑的敏感…

Spring Security 如何进行权限验证

阅读本文之前&#xff0c;请投票支持这款 全新设计的脚手架 &#xff0c;让 Java 再次伟大&#xff01; FilterSecurityInterceptor FilterSecurityInterceptor 是负责权限验证的过滤器。一般来说&#xff0c;权限验证是一系列业务逻辑处理完成以后&#xff0c;最后需要解决的…

EasyOCR——超强超便捷的OCR开源算法介绍与文本检测模型CRAFT微调方法

背景 最近在实际操作阿拉伯文小语种OCR功能的时候&#xff0c;尝试了诸多开源算法&#xff0c;但效果均不尽如人意。 说实在的&#xff0c;针对阿拉伯文的OCR开源算法&#xff0c;若仅仅是效果没那么优秀&#xff0c;比如识别率能有个70%80%&#xff0c;我还能微调微调&#…

【React系列三】—React学习历程的分享

一、组件实例核心—Refs 通过定义 ref 属性可以给标签添加标识 字符串形式的Refs 这种形式已经不再推荐使用&#xff0c;官方不建议使用 https://zh-hans.legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs 回调形式的Refs <script type"te…

正则表达式 - 修饰符

正则表达式 - 修饰符 正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是一种强大的文本处理工具&#xff0c;它允许用户通过特定的模式&#xff08;pattern&#xff09;来搜索、匹配和替换文本中的数据。正则表达式的修饰符&#xff08;modifiers…

PostgreSQL中触发器递归的处理 | 翻译

许多初学者在某个时候都会陷入触发器递归的陷阱。通常&#xff0c;解决方案是完全避免递归。但对于某些用例&#xff0c;您可能必须处理触发器递归。本文将告诉您有关该主题需要了解的内容。如果您曾经被错误消息“超出堆栈深度限制”所困扰&#xff0c;那么这里就是解决方案。…

微信支付V3 yansongda/pay 踩坑记录

Pay - 让支付开发更简单 | Pay 使用laravel 8框架 2.1 报错 Parse [mch_public_cert_path] Serial Number Error 是mch_secret_cert&#xff0c;mch_public_cert_path配置错误 2.2 报错 Get Wechat Public Cert Error 是mch_secret_key配置错误 #正确 Pay::config(config(w…

如何让别人喜欢你的代码

良好的编码习惯是编程人员的基本素养&#xff0c;有利于后期人员的维护和查看。 毕竟大家都喜欢美女和靓仔 目录 js函数注释规范 案例 其他 推荐链接 js函数注释规范 常用符号 说明 用法 param 参数 param {type} name return 返回值 return {type} 案例 /***…