用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
图数据库
›
VastBase——数据库参数调优
VastBase——数据库参数调优
道家人
论坛元老
|
2024-10-4 10:27:57
|
显示全部楼层
|
阅读模式
楼主
主题
1825
|
帖子
1825
|
积分
5475
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
一、内存参数调优
数据库的复杂查询语句性能非常强的依赖于数据库系统内存的配置参数。数据库系统内存的配置参数主要包括逻辑内存管理的控制参数和实行算子是否下盘的参数:
1.逻辑内存管理参数:max_process_memory
max_process_memory – shared memory ( 包括shared_buffers ) – cstore_buffers
根据上述计算公式可以看出影响实行作业可用内存参数的主要两个参数为shared_buffers及cstore_buffers
2.共享内存参数:shared_buffers
设置实例使用的共享内存巨细。增长此参数的值会使openGauss比系统默认设置必要更多的System V共享内存。
3.列存共享缓冲区:cstore_buffers
列存表使用cstore_buffers设置的共享缓冲区,几乎不用shared_buffers。因此在列存表为主的场景中,应减少shared_buffers,增长cstore_buffers。
4.逻辑内存查询
逻辑内存管理有专门的视图查询数据库节点中各大块内存区域已使用内存及峰值信息。
select * from PG_TOTAL_MEMORY_DETAIL;
复制代码
5.work_mem
内部排序操纵和Hash表在开始写入临时磁盘文件之前使用的内存巨细:work_mem
二、逻辑内存管理模块
逻辑内存管理模块参数:enable_memory_limit
设置enable_memory_limit为true,即启用内存管理模块,可用于限制进程的内存使用。当其他参数配置不满足数据库启动条件时,则启动失败,并给出提示。
用户设置enable_memory_limit=true,但其他参数配置不满足条件,则数据库启动失败,并提示原因:
如果用户设置enable_memory_limit=false, 启动成功并且提示风险
三、IO参数调优
1.pagewriter_sleep
增量checkpoint模式下,
控制后端写线程pagewriter刷页频率
,当脏页占据shared_buffers的比例到达dirty_page_percent_max时,每批脏页数量以设定的max_io_capacity计算出的值刷页。
pagewriter线程刷页用于推进recovery点,设置时间较长时,会导致recovery点推进慢,宕机启动时间长和xlog日记堆积问题。
为降低RTO,减少日记膨胀,必要将pagewriter_sleep得当调小,加快页面刷盘,推进recovery点,促进日记接纳。
2.bgwriter_delay
增量checkpoint模式下,
控制后端写线程bgwriter刷页频率
,当前空闲缓冲页面个数占据shared_buffers的比例低于candidate_buf_percent_target时,每批脏页数量以设定的max_io_capacity计算出的值刷页。
bgwriter线程将可以淘汰的页面刷盘,加速业务实行时,页面占用槽位的速度,时间过长会影响性能。
为了提升业务性能时,得当调小bgwriter_delay的时间
3.max_io_capacity
设置后端写线程(pagewriter线程和bgwriter线程)批量刷页每秒的I/O上限
,必要根据具体业务场景和呆板磁盘I/O本事举行设置。
要求RTO很短时间或者数据量比共享内存大多倍的环境,业务访问数据量又是随机访问时,该值不宜过小。该参数设置较小会减小后端写线程刷页个数,如果业务触发页面淘汰多时,该值设置小会影响业务。
max_io_capacity需依据随机写I/O本事举行最优设置。
四、常见问题
1.work_mem 参数设置得太小
在 openGauss数据库中,work_mem 参数指定了每个运行的内部排序操纵或哈希表操纵使用的内存量。如果将 work_mem 参数设置得太小,可能会导致以下一些常见问题:
临时文件使用增长: 当内存不足以实行排序或哈希操纵时,openGauss可能会将部分数据存储在临时文件中举行处理。这会增长磁盘 I/O 操纵,导致查询性能降落,并可能对系统的团体性能产生负面影响。
性能降落: 当 work_mem 设置得太小时,数据库可能不得不频繁地将数据分成更小的块举行处理,这可能会导致性能降落。特殊是对于必要举行大量内部排序或哈希操纵的查询,性能影响可能尤为显着。
查询超时: 对于必要大量内存的查询,如果 work_mem 设置得太小,可能会导致查询超时或被取消。这可能会影响用户体验,并且可能导致某些查询无法完成。
资源争用: 如果多个并发查询都必要大量内存,但 work_mem 设置得太小,可能会导致资源争用和竞争条件,进而影响系统的团体稳定性和性能。
2.I/O 操纵较大
性能降落: 大量的 I/O 操纵可能会导致数据库性能降落,因为 I/O 操纵通常是数据库中最泯灭资源的操纵之一。特殊是在磁盘 I/O 受限的环境下,数据库的响应时间可能会显著增长。
查询响应时间增长: 如果数据库必要频繁地从磁盘读取或写入数据,查询的响应时间可能会显著增长。这可能会影响用户体验,并导致用户感觉到数据库反应不实时。
并发性能降落: 当大量的 I/O 操纵发生时,数据库可能会面临并发性能降落的问题。例如,如果多个用户同时实行大量的查询或写操纵,磁盘可能会成为瓶颈,导致查询响应时间增长或乃至查询超时。
数据一致性问题: 如果数据库在实行写操纵时发生故障或意外关闭,可能会导致数据一致性问题,因为尚未写入磁盘的数据可能会丢失或破坏。因此,高 I/O 负载下的数据库必要确保得当的备份和恢复计谋,以最大程度地减少数据丢失的风险。
五、总结
CPU通常环境下并没有多少调优手段,依赖于厂商调校。所以必要与服务器厂商充分沟通。研读厂商技术手册。
I/O性能指标通常有:使用率、饱和度、IOPS(Input/Output Per Second)吞吐量、响应时间。通过选择不同的文件系统、缓存配置以及数据库参数pagewriter_sleep、bgwriter_delay等举行调优。
网络的性能指标通常有:带宽、延时、吞吐量、PPS,网络性能通常环境下较难诊断,若为生产环境发起摆设监控。
数据库中可以通过内存参数work_mem、shared_buffers等举行调优,或者根据实际环境选择是否开启参数enable_memory_limit。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
道家人
论坛元老
这个人很懒什么都没写!
楼主热帖
CentOS7.9使用sealos部署单节点k8s并部 ...
青龙2.10.13 稳定版+Ninja登录面板+傻 ...
日本开放Wi-Fi 6E认证
软件危机与软件过程模型
〖Python接口自动化测试实战篇⑨〗- 实 ...
LyScript 从文本中读写ShellCode
网安工具 | Windows便携式渗透测试环境 ...
Redis和Mysql保持数据一致性
推荐一款完全开源,功能丰富,界面精美 ...
C#_串口调试助手-网络拓扑显示 ...
标签云
集成商
AI
运维
CIO
存储
服务器
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表