首页 > 其他分享 >一次Greenplum 查询性能优化

一次Greenplum 查询性能优化

时间:2023-08-20 10:05:48浏览次数:39  
标签:主机 Greenplum 查询 内存 shared 优化 性能 buffers

最近接手一个实际查询调优的活儿,对方说Greenplum的性能太弱了,于是按网上教程调整了许多参数。当然,有些有点儿用,有些没什么用。于是几经周折。 我们首先做了硬件设备的性能测试,就用Greenplum自带的工具进行:

gpcheckperf -f all_segments -S 512G -d /gpdata

因为偷懒,就没测那么大。但就是上述代码,发现了以下几个问题:

  1. 磁盘读性能居然与磁盘写性能接近
  2. 各主机间网络性能弱

经过排查,发现5是部署在某虚拟机上,且各主机间虽然是使用万兆网卡,但mdw与sdw4共用同一主机,而mdw同步也做为数据节点使用。这就导致了以上问题。于是:

  1. 重新安装操作系统到裸机
  2. 在实体机上安装Greenplum
  3. 配置主机间使用双网卡绑定mode 4,lacp_rate=fast, xmit_hash_policy=layer3+4
  4. 恢复数据
  5. 调整参数 然而性能提升非常有限!于是继续: set optimizer off 性能大幅提升,从原来约300s提升到50s左右。大喜! 然而高兴得太早了:当同时有多个查询运行时,系统直接挂掉!显示内存不足————每主机可是有512GB内存,每主机,也不过就12P+12M的啊! 再查,终于发现,之前参考网上教程,把shared_buffers设置高了! 以下划重点: 网上说:shared_buffers 应设置为总内存的10%,然后一点点的调高测试! 实际上,主机内存为512GB,10%就是51GB,我们没敢放这么高,放了21G,挂掉;改为8G,继续挂掉!放大招:改回125MB,通过! 所以千万别按网上教程,放那么大的shared_buffers,它会做非常大的Buffer和Cache,吃光内存! image.png

标签:主机,Greenplum,查询,内存,shared,优化,性能,buffers
From: https://blog.51cto.com/u_1264026/7157098

相关文章

  • PHP查询MySQL 数据库后返回中文为问号
    面向对象1$conn=newmysqli($servername,$user,$password);3增加$conn->query("setnamesutf8");$pdo=newPDO("mysql:host=$servername",$username,$password);增加$pdo->query("setnamesutf8");  面向过程$conn=mysql......
  • Django 登录页面优化的报错总结
    Django登录页面优化的报错总结在登录页面进行优化过程中,遇到的一些报错这边总结了一些希望会对读者有所帮助。调用new_key=CaptchaStore.generate_key()报错在调用CaptchaStore.generate_key()时出现错误,请确保您已正确设置了django-simple-captcha库。请按照以下步骤检查......
  • Django之登录页面优化--添加验证码
    Django之登录页面优化--添加验证码前面写的Django项目,前端登录页面较简单如下图,为了美化操作这边优化了前端登录页面。为了只专注登录页面优化这边新构建一个项目用于测试,后续在CV使用到其他项目上。 创建项目及应用django-adminstartprojectmyprojectcdmyprojectpy......
  • Django登录页面优化--动态验证码
    Django登录页面优化--动态验证码本章节添加修改动态验证码功能,基于前一章使用的前端环境进行代码修改。安装依赖库pipinstallPillowpipinstalldjango-simple-captcha添加captcha应用在myproject/settings.py文件的INSTALLED_APPS列表中添加captcha应用 INSTALLED......
  • mybatis设置命名格式转换 与 批量插入更新&select查询返回自定义实体类 的sql写法
    在mybatis的配置文件中设置了Java实体类驼峰命名与表属性下划线命名的自动转换。在mybatis中,从接口获取到大量数据之后,将数据集合分批量插入更新到表中。在mybatis中,select查询表数据,返回数据的存储类型为自定义的实体类。1.设置Java实体类驼峰命名与表属性下划线......
  • JavaScript性能优化指南:加速前端应用的加载速度
    在当今互联网发展迅猛的时代,用户对于网页加载速度的要求也越来越高。JavaScript是前端开发中不可或缺的一部分,但它也可能成为网页加载变慢的原因之一。本篇文章将带您了解一些JavaScript性能优化的最佳实践,以加速前端应用的加载速度。1.压缩和合并JavaScript文件减少JavaScrip......
  • 一线大厂性能优化实战解析,看到就是赚到
    前言我们平时在使用软件的过程中是不是遇到过这样的情况:"这个app怎么还没下载完!"、太卡了吧!"、"图片怎么还没加载出来!"、"怎么刚进去就卡了!"、"这怎么点了一下就退出了!"等等,这些情况其实包含了我们性能优化的主要内容.,性能的优化是一个老生常谈的点,也是一个比较重要的点.特......
  • 【笔记】凸优化 Convex Optimization
    DifferentiationDef.Gradient\(f:{\calX}\sube\mathbb{R}^N\to\mathbb{R}\)isdifferentiable.Thenthegradientof\(f\)at\({\bfx}\in\cal{X}\),denotedby\(\nablaf({\bfx})\),isdefinedby\[\nablaf({\bfx})=\begin{bmatrix......
  • 2-09-Feign-性能优化
    所谓的性能优化实际就是关注两个点:日志+客户端实现日志优化客户端实现:Feign底层发起http请求,依赖于其它的框架。其底层客户端实现包括:URLConnection:默认实现,不支持连接池ApacheHttpClient:支持连接池OKHttp:支持连接池因此提高Feign的性能主要手段就是使用连接池代替默......
  • 关于日常开发中的一些小的SQL优化建议
    优化建议:索引优化:根据查询条件和连接条件创建索引,可以提高查询性能(有连表查询时,连表关联字段添加上索引)。子查询优化:将子查询改为连接查询,可以提高查询性能。具体可以考虑将es_info_relation_owner表的子查询改为连接查询。避免使用DISTINCT关键字:如果查询结果中有重复的记录,可......