如何通过Aquila Insight快速定位一个查询为什么慢?

友情链接:


如何快速定位一个查询为什么慢?

上一篇文章中我们有提到如何通过AquilaInsight实时查看Quark的查询状态

image.png

通过查询列表,点击查询ID,我们就可以进入一个查询的执行详情页面,此时可以看到该查询的所有Job/Stage/Task的统计信息,Job列表/Stage列表/查询语句

点击job列表中的“+”可以看到Job对应的查询语句,点击“作业ID”可以进入Job执行的详情页面。

Job的详情页面又有Stage的列表,点击“+”可以查看该Stage的一些过滤/谓词下推等信息(参考:DBAService中Stage中的Stargate Context内容如何理解?)。

点击调度阶段ID进入Stage的详情页面,这里可以看到每个Task在那个执行器上执行,也可以看到这个这个执行器上在task执行时间范围内的GC耗时。

如果这个GC耗时很高,就需要看看这个执行器上的jmap。如果某个Task执行很久不结束,则需要打这个节点上的jstack,搜索Exeucutor关键字查看卡在那个地方。

下图是一个实际场景中GC严重导致的Task失败的样例:

通过上面的执行器ID,到“集群》执行器”页面,打jstack/jmap。



评论
登录后可评论
发布者
星小环分享号
文章
180
问答
205
关注者
27
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入