应用MapReduce制作压测利器(10)

发表于:2014-06-25来源:淘测试作者:凡提点击数: 标签:
测试结果被reducer分析汇总后输出到hdfs上,最终我们只需要查看一下这个输出文件的内容就可以得到我们需要的测试结果了。 其实我们不难发现,这种测试

  测试结果被reducer分析汇总后输出到hdfs上,最终我们只需要查看一下这个输出文件的内容就可以得到我们需要的测试结果了。

  其实我们不难发现,这种测试框架与DDoS攻击很类似,当手握数千台机器之后,基本上就具备了指哪毁哪的能力,MR框架体系蕴藏的能量的确是非常巨大的。

  流程图

  没有流程图,上述文字描述终归不够直观,因此详细流程请看下图所示:

  多语言测试工具的支持

  对于java类测试工具,我们可以应用该流程图所示方案进行大并发度的压力测试,对于非java语言类的测试工具,我们一方面可以自行撰写其他编程语言的进程调度和收集器,另一方面也可以使用hadoop streaming这个编程工具来实现。Hadoop Streaming是 Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或脚本文件作为 Mapper和 Reducer。这样一来我们用python或shell编写的测试工具也可以通过streaming简单的调度起来执行。有关streaming编程工具的技术细节请自行搜索脑补,这里不再赘述。

  第二个例子

  第二个例子是关于如何使用MR编程框架压测HDFS文件系统的,该例子涉及到Hadoop更底层的技术细节,以及对性能指标的分析等内容,因此留作《工欲善其事必先利其器》系列的下一弹专门介绍一下,敬请期待。

  总结

  为什么把本篇作为系列文章的首弹,是因为Hadoop相关的测试工具大多不离该篇所使用到的技术。Hadoop是一个生态圈,因此测试工具作为生态圈的一部分也没必要且不应该脱离这个生态圈去独立生存。MR编程框架大大缩减了分布式应用程序的开发周期,其编程思想更值得每个码农去深挖学习。本弹是笔者一个非常粗浅的思考开端,期望能够抛砖引玉与更多码农进行分享和探讨。系列文章之二《HDFS性能压测工具浅析》将进一步分享一下有关HDFS相关的技术细节。

原文转自:http://www.taobaotest.com/blogs/2515