`
JerryLead
  • 浏览: 76408 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Hadoop的TestDFSIO测试 (转载)

 
阅读更多

http://adaishu.blog.163.com/blog/static/175831286201151272221903/

为了测试Hadoop用mapreduce方式读写文件系统的性能,开发了TestDFSIO,用法如下:

写测试
cd到hadoop安装目录:
# cd hadoop
看看内存情况:
# free -g
同步内存文件缓存到硬盘:
# sync
清空linux文件系统缓存:
# echo 3 > /proc/sys/vm/drop_caches
再次查看内存情况:
# free -g
切换到hadoop用户:
# su - hadoop
$ cd hadoop
$ hadoop jar hadoop-test-0.20.2-cdh3u0.jar TestDFSIO -write -nrFiles 1000 -fileSize 512            -bufferSize 67108864
其中hadoop-test-0.20.2-cdh3u0.jar在下载来的hadoop里面应该已经编译好了。参数应该很清楚,-nrFiles为写入文件数量,-fileSize为每个文件大小。

测试结果:
11/06/09 11:04:03 INFO fs.TestDFSIO: ----- TestDFSIO ----- : write
11/06/09 11:04:03 INFO fs.TestDFSIO:            Date & time: Thu Jun 09 11:04:03 CST 2011
11/06/09 11:04:03 INFO fs.TestDFSIO:        Number of files: 1000
11/06/09 11:04:03 INFO fs.TestDFSIO: Total MBytes processed: 512000
11/06/09 11:04:03 INFO fs.TestDFSIO:      Throughput mb/sec: 3.0791832418338796
11/06/09 11:04:03 INFO fs.TestDFSIO: Average IO rate mb/sec: 3.3843436241149902
11/06/09 11:04:03 INFO fs.TestDFSIO:  IO rate std deviation: 1.4860198954469508
11/06/09 11:04:03 INFO fs.TestDFSIO:     Test exec time sec: 218.298
结果说明:
Total MBytes processed  : 总共需要写入的数据量 ==》 512X1000
Throughput mb/sec         :总共需要写入的数据量/(每个map任务实际写入数据的执行时间之和(这个时间会远小于Test exec time sec))==》512000/(map1写时间+map2写时间+...)
Average IO rate mb/sec  :(每个map需要写入的数据量/每个map任务实际写入数据的执行时间)之和/任务数==》(512/map1写时间+512/map2写时间+...)/1000,所以这个值跟上面一个值总是存在差异。
IO rate std deviation       :上一个值的标准差
Test exec time sec          :整个job的执行时间





读测试
如果说写测试还可以不要清空linux文件系统缓存的话,跟着的读测试则必须清空,否则可能会对结果影响很大。
$ su root
# free -g
# sync
# echo 3 > /proc/sys/vm/drop_caches
# free -g
# su - hadoop
$ hadoop jar hadoop-test-0.20.2-cdh3u0.jar TestDFSIO -read -nrFiles 1000 -fileSize 512             -bufferSize 67108864

测试结果:
11/05/31 16:41:02 INFO fs.TestDFSIO: ----- TestDFSIO ----- : read
11/05/31 16:41:02 INFO fs.TestDFSIO:            Date & time: Tue May 31 16:41:02 CST 2011
11/05/31 16:41:02 INFO fs.TestDFSIO:        Number of files: 1000
11/05/31 16:41:02 INFO fs.TestDFSIO: Total MBytes processed: 512000
11/05/31 16:41:02 INFO fs.TestDFSIO:      Throughput mb/sec: 51.157743703700746
11/05/31 16:41:02 INFO fs.TestDFSIO: Average IO rate mb/sec: 55.17451095581055
11/05/31 16:41:02 INFO fs.TestDFSIO:  IO rate std deviation: 14.862287798304873
11/05/31 16:41:02 INFO fs.TestDFSIO:     Test exec time sec: 38.702
结果说明:
结果的意思同写,就是标准差比写要大。

清理测试文件
hadoop jar hadoop-test-0.20.2-cdh3u0.jar TestDFSIO -clean

集群比较小的情况下,这个测试并发map(mapred.tasktracker.map.tasks.maximum)数越少,则显示出来的速度会越快。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics