Sleep 用例重要模仿用户功课耗时较长的场景,反竽暌钩复杂用户逻辑对框架差别的减弱,比较两个框架的调剂机能。
输入数据和输出数据均与 Identity 雷同。
读入数据后,等待一准时长(1 ms)后在字符串末尾追加时光戳后输出
Windowed Word Count
Windowed Word Count 用例重要模仿窗口统计场景,反竽暌钩两个框架在进行窗口统计时机能的差别。
此外,还用其进行了精确计算场景的测试,反竽暌钩 Flink 正好一次送达的机能。
输工资 JSON 格局,包含 msgId、eventTime 和一个由若干单词构成的句子,单词之间由空格分隔。单条输入数据约 150 B。
读入数据后解析 JSON,然后将句子瓜分为响应悼?船带 eventTime 和 inTime 时伎佳棰给 CountWindow 进行悼?雌数,同时记录一个窗口中最大年夜最小的 eventTime 和 inTime,最后带 outTime 时光戳输出到 Kafka 响应的 Topic。
Spout/Source 及 OutputBolt/Output/Sink 并发度恒为 1,增大年夜并发度时仅增大年夜 JSONParser、CountWindow 的并发度。
因为 Storm 对 window 的支撑较弱,CountWindow 应用一个 HashMap 手动实现,Flink 用了原生的 CountWindow 和响应的 Reduce 函数。
5. 测试结不雅
5.1 Identity 单线程吞吐量
上图中蓝色柱形为单线程 Storm 功课的吞吐,橙色柱形为单线程 Flink 功课的吞吐。
Identity 逻辑下,Storm 单线程吞吐为 8.7 万条/秒,Flink 单线程吞吐可达 35 万条/秒。
当 Kafka Data 的 Partition 数为 1 时,Flink 的吞吐约为 Storm 的 3.2 倍;当其 Partition 数为 8 时,Flink 的吞吐约为 Storm 的 4.6 倍。
由此可以看出,Flink 吞吐约为 Storm 的 3-5 倍。
5.2 Identity 单线程功课延迟
采取 outTime – eventTime 作为延迟,图中蓝色折线为 Storm,橙色折线为 Flink。虚线为 99 线,实线为中位数。
大年夜图中可以看出跟着数据量逐渐增大年夜,Identity 的延迟逐渐增大年夜。个中 99 线的增赶紧度比中位数快,Storm 的 增赶紧度比 Flink 快。
比较折线最右端的数据可以看出,Storm QPS 接近吞吐时延迟中位数约 100 毫秒,99 线约 700 毫秒,Flink 中位数约 50 毫秒,99 线约 300 毫秒。Flink 在满吞吐时的延迟约为 Storm 的一半。
5.3 Sleep 吞吐量
大年夜图中可以看出,Sleep 1 毫秒时,Storm 和 Flink 单线程的吞吐均在 900 条/秒阁下,且跟着并发增大年夜根本呈线性增大年夜。
比较蓝色和橙色的柱形可以发明,此时两个框架的吞吐才能根本一致。
5.4 Sleep 单线程功课延迟(中位数)
依然采取 outTime – eventTime 作为延迟,大年夜图中可以看出,Sleep 1 毫秒时,Flink 的延迟仍低于 Storm。
5.5 Windowed Word Count 单线程吞吐量
单线程履行大年夜小为 10 的计数窗口,吞吐量统计如图。
大年夜图中可以看出,Storm 吞吐约为 1.2 万条/秒,Flink Standalone 约为 4.3 万条/秒。Flink 吞吐依然为 Storm 的 3 倍以上。
5.6 Windowed Word Count Flink At Least>
Identity 和 Sleep 不雅测的都是 outTime – eventTime,因为功课处理时光较短或 Thread.sleep() 精度不高,outTime – inTime 为零或没有比较意义;Windowed Word Count 中可以有效测得 outTime – inTime 的数值,将其与 outTime – eventTime 画在同一张图上,个中 outTime – eventTime 为虚线,outTime – InTime 为实线。
不雅察橙色的两条折线可以发明,Flink 用两种方法统计的延迟都保持在教逑堤度;不雅察两条蓝色的曲线可以发明,Storm 的 outTime – inTime 较低,outTime – eventTime 一向较高,即 inTime 和 eventTime 之间的差值一向较大年夜,可能与 Storm 和 Flink 的数据读入方法有关。
蓝色折线注解 Storm 的延迟随数据量的增大年夜而增大年夜,而橙色折线注解 Flink 的延迟跟着数据量的增大年夜而减小(此处未测至 Flink 吞吐量,接近吞吐时 Flink 延迟依然会上升)。
推荐阅读
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 当下,大年夜多半企业都明白大年夜数据的感化。大年夜数据——这个宏大年夜甚至是有时是胜过性>>>详细阅读
地址:http://www.17bianji.com/lsqh/39040.html
1/2 1