当前位置: 首页 > news >正文

网站建设后需要维护吗卫生间装修效果图

网站建设后需要维护吗,卫生间装修效果图,前端网站做完 后端用什么做,阿里巴巴网站的营销策略最近在针对某系统进行性能优化时#xff0c;发现了一个hive on spark 模式下使用 HikariCP 数据库连接池造成的资源泄露问题#xff0c;该问题具有普适性#xff0c;故特地拿出来跟大家分享下。 1 问题描述 在微服务中#xff0c;我们普遍会使用各种数据库连接池技术以加快…最近在针对某系统进行性能优化时发现了一个hive on spark 模式下使用 HikariCP 数据库连接池造成的资源泄露问题该问题具有普适性故特地拿出来跟大家分享下。 1 问题描述 在微服务中我们普遍会使用各种数据库连接池技术以加快获取数据库连接并执行数据查询的速度这本质是一种空间换时间的有效的性能优化的思路。 推而广之在大数据场景下通过JDBC访问HiveServer2并提交数据查询SQL语句时也很容易想到同样使用数据库连接池技术以加快作业速度。 但是相比普通的RDBMSHive的JDBC连接更重以HIVE ON SPARK模式运行作业时更是如此因为当连接底层需要执行SQL时HS2会向YARN申请CONTAINER资源然后启动分布式的SPARK ON YARN集群并分布式地执行编译好的SQL当该SQL执行完毕后并不会立即释放SAPRK ON YANR资源而是会等待一段时间以复用这些 SPARK ON YARN资源执行客户端通过该连接提交的新的SQL只有当该JDBC连接关闭时或者达到了配置的超时时间而客户端仍没有提交新的SQL时才会彻底释放这些 SPARK ON YARN 资源。 当业务代码使用了数据库连接池技术时由于其关闭JDBC连接时本质上只是将连接归还给了连接池而没有真是关闭底层的JDBC连接所以连接背后的 SPARK ON YARN资源并不会被及时释放也就是造成了资源泄露此时其它作业向YARN申请资源时就需要排队等待从而影响了其它作业的执行。 本案列中该系统使用了HikariCP 数据库连接池且没有配置数据库连接的空闲超时时长idletimeout)真正生效的空闲超时时长是Hikari源码层面配置的默认值10分钟所以每个连接底层的SQL作业执行完毕后都需要10分钟才真正释放了背后的SPARK ON YARN资源从而造成了其它作业对YANR资源的排队和等待。话说你占着资源却不使用不就是站着那个啥不干那个啥么_ 2 问题解决方案 针对该问题进行分析解决方案有多个如下分别进行描述。 2.1 解决方案1 该方案的思路是彻底摒弃数据库连接池因为一般而言大数据作业擅长的是大数据量和复杂逻辑的处理其作业执行速大都在分钟级别以上数据库连接池节省的1到2秒钟几乎微不足道所以考虑到这些使用上的弊端干脆弃之不用。 2.2 解决方案2 该方案的思路是配置HS2 背后SPARK ON YARN集群的SESSION超时时间从而更快地释放 SPARK ON YARN 资源。但是通过测试并查看源码发现该超时时间的最小值是30分钟不能设置更小值所以起不了效果。相关参数有 hive.spark.session.timeout:默认值30m最小值30mhive.spark.session.timeout.period:默认值60s最小值60s; 2.3 解决方案3 该方案的思路是配置Spark on yarn的动态资源分配机制从而使得spark on yarn集群在没有SQL作业需要执行时并不会占用太多YARN资源。但是由于SPARK 集群至少需要1个CONTAINER以执行DRIVER所以该方案只能缓解问题不能彻底解决问题。相关参数有 spark.dynamicAllocation.enabled,需要配置为true;spark.dynamicAllocation.minExecutors:默认为1可以进一步调整为0 2.4 解决方案4 该方案的思路是配置客户端和HS2 之间的SESSION超时时间从而让HS2主动断开客户端的JDBC连接并释放背后的Spark ON YARN资源。经测试该方案可行但修改相关参数需要重启hs2服务进程且该参数的修改会影响所有用户作业一般集群管理员可能会有异议相关参数有 hive.server2.session.check.interval:不同版本默认值不同比如15m/6h;hive.server2.idle.session.timeout:不同版本默认值不同比如4h/12h/7d;hive.server2.idle.operation.timeout:不同版本默认值不同比如2h/6h;hive.server2.idle.session.check.operationtrue 如下日志可见session timeout 被关闭后spark session 也别清理了 2.5 解决方案5 该方案的思路是调整数据库连接池的相关参数尤其是最小连接数和空闲超时时间从而更快地更积极地主动关闭空闲的数据库连接比如将IdleTimeout配置为30秒将最小连接数MinimumIdle配置为0则SQL作业运行完毕30秒后就会关闭所有连接也就会释放所有SPARK ON YARN资源从而解决了资源泄露问题相关hikariConfig参数有 MinimumIdle最小连接数MaximumPoolSize最大连接数IdleTimeout空闲超时时间ConnectionTimeout获取连接超时时间ValidationTimeout连接有效行验证超时时间KeepaliveTime空闲连接保活间隔时间MaxLifetime连接最大时间 示例代码如下 3 知识点总结 大数据作业擅长的是大数据量和复杂逻辑的处理其作业执行速大都在分钟级别以上数据库连接池节省的1到2秒钟几乎微不足道所以大数据作业一般不使用数据库连接池当使用数据库连接池时由于相比普通的RDBMSHive的JDBC连接更重以 HIVE ON SPARK 模式运行作业时更是如此所以一定要及时释放JDBC连接从而及时释放背后的 YARN资源从而避免资源泄露问题引起其它作业长时间等待YARN资源使用数据库连接池时为及时释放JDBC连接从而及时释放背后的YARN资源一般可以调整数据库连接池的相关参数尤其是最小连接数和空闲超时时间从而更快地更积极地主动关闭空闲的数据库连接比如将IdleTimeout配置为30秒将最小连接数MinimumIdle配置为0则SQL作业运行完毕30秒后就会关闭所有连接也就会释放所有SPARK ON YARN资源从而解决了资源泄露问题。
http://www.dnsts.com.cn/news/123610.html

相关文章:

  • 有口碑的唐山网站建设h5网站建设 网站定制开发
  • 百度建站平台官网2016市网站建设总结
  • 海城市建设局网站西安百度
  • 网站做导航设计的作用是什么南昌网站建设方案优化
  • 开发手机网站制作盐城市网站
  • 网站开发价格多少长春公司建站模板
  • 南京做网站需要多少钱硅云网站建设视频
  • 连云港网站建设方案权威的唐山网站建设
  • 静态网站有哪些优点网站栏目功能分析
  • php建设网站工具wordpress采集网址
  • 网站开发所用的技术WordPress添加首页引导页
  • 宝坻建设路小学网站校园网站建设结论
  • htm商城网站开发jsp网站开发学习心得
  • 织梦网站分享插件wordpress如何进入仪表盘
  • 做网站员培训广告公司取名大全集
  • 免费摄影网站陈列设计
  • 哈尔滨cms网站建设临沂网站制作报价
  • 泉州建设工程质量网站wordpress 商品 模板
  • 建设网站收费标准网站建设与设计
  • 赣州建设公司网站昆明网站建设赵
  • 百度云 做视频网站巫山集团网站建设
  • 中国风格网站模板如何改wordpress的title
  • 郑州艾特网站建设wordpress做付费阅读
  • 公司网站开发费算什么费用国外自建站怎么样
  • 如何让网站长尾关键词有排名推广引流违法吗
  • 网站定制阿里巴巴网站图片怎么做的
  • 网站建设 租赁青海省建设厅网站执业
  • 学做彩票网站微信小程序订货系统
  • 网站及数据库怎么做后门网站如何不被百度搜到
  • 网站支持aspphp源码