前言

之前公司的 presto 服务一直不是很稳定,随着资源组,配置优化,代码二次开发。presto 服务基本上已经趋于稳定了。这个记录下 presto 服务参数配置都做过哪些优化。

这边生产环境的 JVM 都是配置为 40G。

config.properties

  1. 禁用保留池

Reserved Pool : 当有一个worker的General Pool 内存耗尽,reserved pool将会发挥作用。这个时候coordinator 将会选出集群出消耗内存最大的查询,并将该查询分配给所有worker的reserved pool。

Reserved Pool的值等于query.max-total-memory-per-node的大小。 query.max-total-memory-per-node是单个节点User memory 和system memory占用的最大值。
而且Reserved Pool是启动时系统预留的,一起动就会占用,所以现在有一个问题,在实际中的情况来讲,我们会极少使用到Reserved Pool,而且它还占用了很多的内存资源。
所以我们可以通过配置参数

experimental.reserved-pool-enabled=false
  1. query.max-memory-per-node

在单个 worker 上面可以使用的最大的user memory值 (默认JVM max memory * 0.1)调整到 JVM max memory * 0.25

query.max-memory-per-node=10GB
  1. query.max-total-memory-per-node
    单个Query在单个Worker上允许的最大user memory + system memory 调整到 JVM max memory * 0.4
query.max-total-memory-per-node=16GB
  1. memory.heap-headroom-per-node
    这个内存主要是第三方库的内存分配,无法统计跟踪。 (默认JVM max memory * 0.3)调整到 JVM max memory * 0.2
memory.heap-headroom-per-node=8GB
  1. query.max-memory
    单个查询在所有任务调度的节点上瞬间最大能用的内存(单个查询的峰值内存) 调整到 <= query.max-total-memory-per-node * workers * 0.8
query.max-memory=192GB
  1. query.low-memory-killer.policy
    当presto集群发生OOM时的内存保护策略,配置 total-reservation 是kill 掉占用内存最大的任务。
query.low-memory-killer.policy=total-reservation
  1. 更多配置
#延长等待时间
exchange.http-client.request-timeout=10s
#从其他Presto节点获取数据的线程数。较高的值可以提高大型群集或具有很高并发性的群集的性能(默认值:25)
exchange.client-threads=50
exchange.http-client.idle-timeout = 10s
#并行运算符(例如联接和聚合)的默认本地并发性。较低的值对于同时运行许多查询的集群更好(默认值:16,必须是2的幂次)
task.concurrency=2
task.max-worker-threads=60
#可以创建用于处理HTTP响应的最大线程数。在具有大量并发查询的群集上或在具有数百或数千个工作程序的群集上,可以调高(默认值:100)
task.http-response-threads=200
join-distribution-type=AUTOMATIC
node-scheduler.max-splits-per-node=200
query.max-stage-count=400#自动kill运行时长超过20分钟的sql(代替脚本kill任务,让presto 自动管理):
query.max-run-time=1200s
#解决新版本 remote too large 报错
exchange.http-client.max-content-length=128MB
node-manager.http-client.max-content-length=64MB

jvm.config

-Xmx40G
-Xms40G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+UseGCOverheadLimit
-XX:OnOutOfMemoryError=kill -9 %p
-DHADOOP_USER_NAME=hive
-Duser.timezone=Asia/Shanghai
-Djdk.attach.allowAttachSelf=true
-Djava.security.krb5.conf=/etc/krb5.conf
-XX:G1ReservePercent=15
-XX:InitiatingHeapOccupancyPercent=40
-XX:ConcGCThreads=8

【presto】presto 参数配置优化相关推荐

  1. MySQL参数配置优化

    MySQL参数配置优化 max_connections Variable Scope:      Global Dynamic Variable:  Yes Default:              ...

  2. kafka java jvm 优化_kafka优化–JVM参数配置优化

    主要是启动脚本和log4j基本参数的设置和优化,这些参数藏的比较深. 1.JVM参数配置优化 如果使用的CMS GC算法,建议JVM Heap不要太大,在4GB以内就可以.JVM太大,导致Major ...

  3. mysql my.cnf参数配置_MySQLmy.cnf参数配置优化详解

    本配置文件针对Dell R710,双至强E5620.16G内存的硬件配置.CentOS 5.6 64位系统,MySQL 5.5.x 稳定版.适用于日IP 50-100w,PV 100-300w的站点, ...

  4. mysql cnf参数_系统运维|MySQL my.cnf参数配置优化详解

    本配置文件针对Dell R710,双至强E5620.16G内存的硬件配置.CentOS 5.6 64位系统,MySQL 5.5.x 稳定版.适用于日IP 50-100w,PV 100-300w的站点, ...

  5. mysql 最大值7F_(总结)MySQL my.cnf参数配置优化详解

    PS:本配置文件针对Dell R710,双至强E5620.16G内存的硬件配置.CentOS 5.6 64位系统,MySQL 5.5.x 稳定版.适用于日IP 50-100w,PV 100-300w的 ...

  6. php5.5参数配置优化,5个PHP性能优化的编程习惯

    在网上搜索了一下编程优化我们都会看到大量的文章,但都是一样的内容,下面我来给各位整理了我觉得最有用的5个PHP性能优化的编程习惯分享给各位,希望文章能给各位带来帮助哦. 1. 不要随便就复制变量 有时 ...

  7. linux系统内核参数配置优化,Linux服务器内核参数优化

    Linux内核参数调优主要是通过修改/proc伪文件系统和/etc/sysctl.conf配置文件的参数来实现的. /proc目录结构如下: /proc/driver        与驱动器相关的信息 ...

  8. mysql 参数配置优化

    1 数据文件与二进制日志文件确保分别存放在不同的磁盘上,防范磁盘故障 2 设置开启innodb引擎,default-storage-engine=innodb 3 设置innodb_file_per_ ...

  9. 参数配置类毕业论文文献都有哪些?

    本文是为大家整理的参数配置主题相关的10篇毕业论文文献,包括5篇期刊论文和5篇学位论文,为参数配置选题相关人员撰写毕业论文提供参考. 1.[期刊论文]柔性网空中联合组网参数配置优化算法 期刊:< ...

最新文章

  1. 青海省计算机应用能力考试,青海省2015年职称计算机应用能力考试西宁考区四月份考试安排通知...
  2. Settings.System暂存/读取数据
  3. [转载]java中Date,SimpleDateFormat
  4. 聊聊flink的ConnectionManager
  5. CTFshow 命令执行 web120
  6. 图的dfs非递归_如何理解恶心的递归
  7. JQ属性和css部分测试
  8. linux arp 文件,LINUX 下ARP 的查找
  9. 嵌入式常见笔试题总结(5)
  10. 2020年8个效率最高的爬虫框架
  11. 车联网服务non-RESTful架构改造实践
  12. catia如何画花键_CATIA到底有多用呢~
  13. LoadRunner 11压测时碰到错误Error: missing newline in *:\*****\*.dat
  14. HashSet、LinkedHashSet、TreeSet的内部实现简介
  15. Win10+caffe+CUDA9.1+vs2013+Matlab2018b+GPU环境,跑通faster_rcnn-master
  16. Ant-编译构建(2)-第3方jar包引入、log4j2
  17. 值得收藏的一些Java实战项目分享
  18. 电脑怎么在线录制屏幕声音,如何内录
  19. python爬取新浪博客_python爬虫-韩寒新浪博客博文
  20. 天涯明月刀手游服务器维护中,《天涯明月刀手游》12月17日服务器维护更新公告...

热门文章

  1. 对IoC与DI浅显易懂的讲解
  2. 【自动驾驶】视觉与毫米波雷达数据融合技术
  3. 每日英语:As World's Kids Get Fatter, Doctors Turn To The Knife
  4. 打车应用生死未卜 嘀嘀或傍上腾讯
  5. ORACLE重启常用命令
  6. 【实体类】如何快速生成实体类?
  7. 区块链产物 的安全是否真的无懈可击!
  8. HTML中的水平布局
  9. day29(1130):简历辅导
  10. 【单片机】08数码管