Zipkin dependencies的坑之一: 耗时越来越长
zipkin-dependencies是zipkin调用链的依赖分析工具. 系统上线时使用了当时的最新版本2.0.1, 运行一年之后随着服务的增多, 分析一天的数据耗时越来越多. 从最初的几分钟, 到最慢的几十小时(数据量18m). 最终返现是版本的问题, 升级到>=2.3.0的版本之后吞吐迅速上升. 所以便有了issue: Reminder: do NOT use the version before 2.3.0 但这也引来了另一个坑: 心跳超时和Executor OOM TL;DR 简单浏览了下zipkin-dependencies的源码, 2.0.1和2.3.2的比较大的差距是依赖的elasticsearch-spark的版本. 前者用的是6.3.2, 后者是7.3.0. 尝试在zipkin-dependencies-2.0.1中使用elasticsearch-spark-7.3.0, 和2.3.2的性能一直. 通过打开log4j debug日志, 发现到elasticsearch-spark两个版本的运行差异: #7.3.0 19/09/05 18:13:14 INFO DAGScheduler: Submitting 3 missing tasks from ShuffleMapStage 0 (MapPartitionsRDD[1] at groupBy at ElasticsearchDependenciesJob.