| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 问题排查 —— OLAP平台获取查询引擎连接严重耗时 -> 正文阅读 |
|
[大数据]问题排查 —— OLAP平台获取查询引擎连接严重耗时 |
目录一、问题说明BI平台出现了查询时快时慢的问题,查看监控发现获取连接部分耗时飙升,相关监控如下: 二、原因查明1. 数据库连接池系统中使用的C3P0连接池,连接参数部分只设置了jdbcUrl、username、password、maxPoolSize和minPoolSize。 其中,maxPoolSize为20,minPoolSize为1。 2. Impala连接参数Impala中fe_service_threads可以用来设置单个coordinater最大连接数,未对该参数作改动,默认为64,其具体含义为:
3. 应用近期改动由于公司最近推进容器化部署,第一阶段需进行混合部署,即发布一定数量的容器化服务并且不下线已有虚拟机服务,因此提供服务的机器数量从4台变为了8台。 4. 集群中连接建立数量使用如下命令查看各IP在 Impala 查询服务端口 21050(对于mysql则为3306)上建立连接数量情况。
总共8台线上机器连接Impala集群,集群中有四台Coordinater,查看发现每台Coordinater 21050端口连接数量都在80及以上,这已经超出了Impala最大连接数量了。
三、问题复现开启初始线程数64、最大线程数64、最小线程数64的服务,连接四台Coordinater,这样在发起查询时会产生大量的Connection,使得端口连接建立数超过Impala集群单Coordinater最大允许连接数。 直接访问本地压测程序查询接口,结果响应很快,不存在查询缓慢的情况;使用Web页面查询,偶尔结果响应很慢。 当把压测程序关闭后,端口连接建立数量恢复正常,此时查询未再出现变得十分缓慢的情况。 猜测是因为后端开启了多个连接线程池,每个线程池在每台Coordinater建立的连接数量不同。当在Web进行查询时,随机被发往8台机器中任意一台,然后任意一台又将请求发往集群中4台Coordinater的任意一个。 而某台机器的连接池中Connection建立数量较少,新请求过来需要建立新的连接,但当前Impala Connection 四、问题解决核心其实就两点,增大集群最大连接数 或者 减小应用连接池最大值大小,最终目的是使得 服务机数量*连接池最大连接数 <= Impala机器最大连接数。 具体操作:
启示:
五、附录1.资料Apache Impala:https://impala.apache.org/docs/build/html/topics/impala_client.html 2.C3P0相关参数3.Impala机器相关参数 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:33:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |