暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss学习笔记-228 openGauss性能调优-系统调优-LLVM使用建议

原创 shuchaoyang 2024-11-16
268

openGauss学习笔记-228 openGauss性能调优-系统调优-LLVM使用建议

目前LLVM在数据库内核侧已默认打开,用户可结合上述的分析进行配置,总体建议如下:

  1. 设置合理的work_mem,在允许的条件下尽可能设置较大的work_mem,如果出现大量数据落盘,则建议关闭LLVM动态编译优化(通过设置enable_codegen=off实现)。

  2. 设置合理的codegen_cost_threshold(默认值为10000),确保小数据量场景下避免使用LLVM动态编译优化。当codegen_cost_threshold的值设定后,因使用LLVM动态编译优化引入性能劣化,则建议增加codegen_cost_threshold的取值。

  3. 对于表达式计算使用LLVM动态编译优化,如果存在大量的调用C-函数的场景,建议关闭LLVM动态编译优化。

  4. 在ARM平台下使用gstack抓取栈时,可能会由于LLVM重复打印同一个栈帧,导致其他线程的栈无法正常打印。此时可以通过修改gstack脚本,限制打印的栈深度来避免该问题。

    gstack脚本的修改方法如下:

    a. 在shell中执行sudo vim which gstack命令。

    b. 修改脚本中所有的backtrace变量,加上栈深度限制,例如限制打印的栈深度为100,则第一个backtrace修改为backtrace=“bt 100”,其他backtrace变量的修改方法类似。

    gdb打印全部堆栈的时候如果遇到该问题,也可以通过增栈深度的限制来避免。

    img 说明: 在资源许可的情况下,数据量越大,可获得的性能提升效果越好。

原文链接:https://mp.weixin.qq.com/s?__biz=MzkxNzI1OTE3Mw==&mid=2247490730&idx=1&sn=0cc0700cc58b531e8f7383d01c876373&chksm=c1420a60f63583761ffb7b44632a54978645619730dd83bbbc911bd9f56d38c2562927f4e167#rd

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论