概述
一、磁盘IO测试
1. 测试读速度
方式一:使用hdparm测试
yum install -y hdparm #下载hdparm
hdparm -tT --direct /dev/sda1 #测试
hdparm参数:
-t 评估硬盘的读取效率(不经过磁盘cache)。
-T 平估硬盘快取的读取效率。
方式二:使用time+dd测试
time dd if=/dev/sda1 of=/dev/null bs=8k
因为/dev/sdb1是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。
2. 测试写速度
使用time+dd测试
time dd if=/dev/zero of=test.dbf bs=8k count=300000
其中/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。
二、Hadoop性能测试(DFSIO)
TestDFSIO是Hadoop自带的性能基准评测工具,需要通过执行hadoop-mapreduce-client-jobclient-2.9.2-tests.jar。
cd /opt/hadoop/hadoop/share/hadoop/mapreduce #进入jar包所在路径
测试写性能:
hadoop jar hadoop-mapreduce-client-jobclient-2.9.2-tests.jar TestDFSIO -write -nrFiles 5 -fileSize 128MB
命令说明:向HDFS集群中写入5个128MB的文件
测试结果:
结果说明:
- Total MBytes processed : 总共需要写入的数据量 100MB
- Throughput mb/sec :总共需要写入的数据量/(每个map任务实际写入数据的执行时间之和(这个时间会远小于Test exec timesec))==>100/(map1写时间+map2写时间+…)
- Average IO rate mb/sec :(每个map需要写入的数据量/每个map任务实际写入数据的执行时间)之和/任务数==>(20/map1写时间+20/map2写时间+…)/1000,所以这个值跟上面一个值总是存在差异。
- IO rate std deviation :上一个值的标准差
- Test exec time sec :整个job的执行时间
测试读性能
hadoop jar hadoop-mapreduce-client-jobclient-2.9.2-tests.jar TestDFSIO -read -nrFiles 5 -fileSize 128MB
【执行测试读操作之前需要至少有一次写操作】
删除历史写操作数据
hadoop jar hadoop-mapreduce-client-jobclient-2.9.2-tests.jar TestDFSIO -clean
最后
以上就是沉默小海豚为你收集整理的Hadoop性能测试工具一、磁盘IO测试二、Hadoop性能测试(DFSIO)的全部内容,希望文章能够帮你解决Hadoop性能测试工具一、磁盘IO测试二、Hadoop性能测试(DFSIO)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复