对OceanBase进行 sysbench 压测前,如何用 obdiag巡检

news2024/12/28 9:28:33
有一些用户想对 OceanBase 进行 sysbench 压测,并向我询问是否需要对数据库的各种参数进行调整。我想起有一个工具 obdiag ,具备对集群进行巡检的功能。因此,我正好借此机会试用一下这个工具。
obdiag 功能的比较丰富,详细情况可参见“ obdiag 概述”。此次,我主要试用其巡检 OceanBase 集群的功能,至于其他功能,将根据实际需求逐步进行试用。

如何安装Obdiag:

这里直接参考官网链接即可,相对比较简单,只需要执行官网上的几个命令即可。

如何配置

参考官网的步骤,执行 obdiag config 命令之后,需要填写一批信息。

因为我是用 OCP 部署的集群,所以这些信息直接在 OCP 上的集群概览里复制黏贴一下就好了。

1705632610

1705632621

执行完成后在 ~/.obdiag/config.yml 中会生成一份新的配置,内容就是上面填写的这些内容。

集群巡检

接下来可以对 OceanBase 集群通过执行 obdiag check 命令进行巡检了。

我这里只挑和 sysbench 有关的内容进行巡检,task 应该都在 sysbench_run 和 sysbench_free 这两个集合里了,参考自渠磊的博客。

[xiaofeng.lby@obvos-dev-d3 /home/xiaofeng.lby/.obdiag]
$cat check_package.yaml
...
sysbench_run:
  - sysbench.sysbench_run_test_tenant_cpu_used
  - sysbench.sysbench_run_test_tenant_memory_used
sysbench_free:
  - sysbench.sysbench_free_test_cpu_count
  - sysbench.sysbench_free_test_memory_limit
  - sysbench.sysbench_free_test_network_speed
...

如果想指定执行某几个特定 task 的话,可以在这个 check_package.yaml 文件里加一个自己的 task 集合,然后再执行就好了。

接下来执行一下 sysbench_free 这个 task 集合,执行过程中会打印详细的执行日志,结束之后会把巡检结果生成一个报告。

[xiaofeng.lby@obvos-dev-d3 /home/xiaofeng.lby/.obdiag]
$obdiag check --cases=sysbench_free

[xiaofeng.lby@obvos-dev-d3 /home/xiaofeng.lby/.obdiag/tasks/observer/sysbench]
$obdiag check --cases=sysbench_free
...
2024-01-02 16:04:43,395 [INFO] export report to ./check_report//check_report_observer_2024-01-02-16-04-30.table, export type is table
If you want to view detailed obdiag logs, please run:' obdiag display-trace --trace_id 1f89be5a-5d61-3ba4-830e-9d05adf6e143 '
Check observer finished. For more details, please run cmd' cat ./check_report//check_report_observer_2024-01-02-16-04-30.table '

run 一下它的 cmd cat xxx.table 就可以看到巡检的结果的报告了。

1705632632

比如 sysbench.sysbench_free_test_cpu_count 这个 task 的执行之后的 task_report 是 [critical] [remote:11.158.31.20] cpu_count/os_cpu_count is 25%,is not between 80 and 100。

猜测它大概意思就是说,如果想去做 sysbench 压测,11.158.31.20 这个节点上给 observer 的 cpu 资源建议是全部 cpu 资源的 80% 以上,但是现在实际只给了 25% 左右,有点儿少了。

比如 sysbench.sysbench_test_cluster_parameters 这个 task 执行之后的 task_report 是 [critical] [cluster:obcluster] cluster's enable_record_trace_log is true , need to change False。

应该就是让用户把 enable_record_trace_log 这个配置项改成 flase,在 sysbench 压测期间少写一些没用的 trace log。

其他的 task 不再一一列举,critical 应该是建议修改,warning 应该是推荐 DBA 同学再去检查下是否需要修改。

不过其中有一个叫 sysbench.sysbench_free_test_network_speed 的 task 执行失败了,task_report 报错是 [fail] [remote:11.158.31.20] ssh execute Exception:Execute Shell command on server 11.158.31.20 failed, command=[ethtool eth0 | grep Speed | grep -o '[0-9]*'], exception:b'Cannot get wake-on-lan settings: Operation not permitted\n'。这个感觉像是 obdiag 的 bug,通过答疑钉钉群(33254054)或者开源问答区咨询了一下,obdiag 研发同学给的反馈是这个 task 写的有点儿问题,应该是在 ethtool 能执行成功时才进行网速的检测。这里简单调整下 task,当系统无法执行 ethtool 命令时,把标准错误重定向到 /dev/null 就好了。

1705632644

其他例如自定义巡检任务 task 的功能,这次就先不试用了,感觉还是有点儿麻烦的,需要先熟悉 OceanBase 的系统表和字典视图和 shell 命令,后面有机会再试着加一个自己的巡检 task 吧。

总结

最后简单总结一下:

通过 obdiag 在 sysbench 执行前进行巡检还是比较简单和便捷的,完全傻瓜式的安装和使用,最后给出的巡检结果也算比较清楚。

虽然在我的测试环境里暴露了一个网速检测时的小瑕疵,但是整体来看还是挺不错的,所以推荐大家在使用 OceanBase 进行 sysbench 压测前使用一下这个 obdiag 工具。

这个工具的功能太多,一下子试用不完,这次就先用一下其中的巡检功能,其他功能就等后面有实际需求的时候,再慢慢来试用了。

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

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

相关文章

如何正确地设置Outlook SMTP发送电子邮件?

Outlook SMTP发送邮件配置方法?Outlook怎么开启SMTP? 在使用Outlook发送邮件时,正确设置SMTP服务器是确保邮件能够顺利发送的关键步骤。接下来,就让AokSend一起探讨如何正确地设置Outlook SMTP发送电子邮件吧! Outlo…

Spring web MVC(2)

1、RequestMapping称为路由映射(既是类注解也是方法注解提供访问路径) 2、RequestParam起到重命名的作用,也起到绑定的作用,传递集合list时会用到,多个值绑定给list,默认是必传参数如果不传参数需要设置re…

【设计模式】二、UML 类图与面向对象设计原则 之 UML概述

二、UML 类图与面向对象设计原则 (一)UML 类图 UML 概述类与类的UML图示类之间的关系 (二)面向对象设计原则 单一职责原则(Single Responsibility Principle, SRP)开闭原则(Open-Closed Princip…

react03

react03 修改脚手架创建的打包命令 根据scripts中的命令,执行npm run eject ,输入y, 如果对原始的脚手架文件有过改动需要进行将修改后的文件提交到git 历史区 ,防止暴露后的代码覆盖我们自己的文件 git 提交: git add . git commit -m ‘…

服务器Debian 12.x中安装Jupyer并配置远程访问

服务器系统:Debian 12.x;IP地址:10.100.2.138 客户端:Windows 10;IP地址:10.100.2.38 利用ssh登录服务器: 1.安装python3 #apt install python3 2.安装pip #apt install python3-pip … 3.安装virtualen…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:GridCol)

栅格子组件,必须作为栅格容器组件(GridRow)的子组件使用。 说明: 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含单个子组件。 接口 GridCol(option?:{span?: number | …

使用 opencv 识别答题卡,生成填涂答案

一般答题卡设计时都在试卷4个角预留4个一样大小的黑块 仅能识别选择题判断题之类的填涂答题的题目,不能识别填空题应用题等其它主观题 使用 opencv 识别试卷图片中所有黑块,再根据黑块大小获取四个角的位置,根据四个黑块位置校正图像 将图…

怎么避免电脑数据被拷贝?电脑如何禁用USB功能?

在无纸化办公的今天,很多重要数据都存放在电脑中。为了避免数据泄露,需要采用安全的方式保护电脑数据。那么,该如何避免电脑数据被拷贝呢?下面我们就来了解一下。 方法一:物理隔绝 物理隔绝是一种原始但有效的USB禁用…

发布组件到npm

1.环境准备&#xff0c;需要装好node&#xff0c;注册号npm账号,这里不做详解 2.创建编写组件和方法的文件夹package 3.在文件夹中创建需要定义的组件&#xff0c;并且加上name属性 //组件 <template><div><button>按钮组件</button></div> &…

Hadoop,Hive 数据预处理CR

记录一次大材小用,我在将.csv电影数据集 电影json数据 导入MySQL时,出现了报错: 很明显,意味着.csv中的数据有非utf8编码的, 尝试使用file查看了下.csv文件的编码格式: 如果不确定原始编码,可以先用file命令尝试检测一下: file -i input.csv该命令会显示文件的MIME类型…

医学图像目标跟踪论文阅读笔记 2024.03.08~2024.03.14

“Inter-fractional portability of deep learning models for lung target tracking on cine imaging acquired in MRI-guided radiotherapy” 2024年 期刊 Physical and Engineering Sciences in Medicine 医学4区 没资源&#xff0c;只读了摘要&#xff0c;用的是U-net、a…

前端路由跳转bug

路由后面拼接了id的千万不能取相近的名字&#xff0c;浏览器分辩不出&#xff0c;只会匹配前面的路径 浏览器自动跳转到上面的路径页面&#xff0c;即使在菜单管理里面配置了正确的路由 跳转了无数次&#xff0c;页面始终不对&#xff0c;检查了路由配置&#xff0c;没有任何问…

html--bug

文章目录 html html <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>老师</title><style>body {background-color: #008000;margin: 0px;cursor: none;overflow: hidden;}</style></head><bod…

算法---滑动窗口练习-4(无重复字符的最长子串)

无重复字符的最长子串 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 算法的主要思想是使用滑动窗口来维护一个不含重复字符的子串。定义两个指针 left 和 right 分别表示窗口的左边界和右边界。还定义了一个数组 hash 来记…

Python数据分析-5

1.时间序列 2.pandas重采样 重采样&#xff1a;指的是将时间序列从一个频率转化为另一个频率进行处理的过程&#xff0c;将高频率数据转化为低频率数据为降采样&#xff0c;低频率转 化为高频率为升采样。 统计出911数据中不同月份电话次数的变化情况&#xff1a…

后端程序员入门react笔记(八)-redux的使用和项目搭建

一个更好用的文档 添加链接描述 箭头函数的简化 //简化前 function countIncreAction(data) {return {type:"INCREMENT",data} } //简化后 const countIncreAction data>({type:"INCREMENT",data })react UI组件库相关资料 组件库连接和推荐 antd组…

DM数据库安装(Linux)

Linux安装 操作系统CPU数据库CentOS7x86_64 架构dm8_20230418_x86_rh6_64 先把压缩包扔过去 新建 dmdba 用户 创建用户所在的组&#xff0c;命令如下&#xff1a; groupadd dinstall 创建用户&#xff0c;命令如下&#xff1a; useradd -g dinstall -m -d /home/dmdba -s /…

[论文笔记]LLaMA: Open and Efficient Foundation Language Models

引言 今天带来经典论文 LLaMA: Open and Efficient Foundation Language Models 的笔记&#xff0c;论文标题翻译过来就是 LLaMA:开放和高效的基础语言模型。 LLaMA提供了不可多得的大模型开发思路&#xff0c;为很多国产化大模型打开了一片新的天地&#xff0c;论文和代码值…

亚信安慧AntDB在数据可靠性和系统安全中的实践

亚信安慧AntDB以持续创新和技术进步为理念&#xff0c;不断优化性能和功能&#xff0c;至今已经保持了15年的平稳运行。这一漫长的历程并非偶然&#xff0c;而是源于AntDB团队对技术的不懈探索和追求。他们始终秉承着“永不停歇&#xff0c;永不满足”的信念&#xff0c;将技术…

Android14之报错:error:add its name to the whitelist(一百九十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…