1. 介绍
前段时间对alluxio做性能测试。发现结果并没有到达自己的预期。监控流量发现网络流量比较大。按理说alluxio应该是做了数据本地化了,不会产生这么多网络流量才是(单纯不使用alluxio而采用MR就不会有这么多网络流量)。为了搞明白这个问题,也尝试调整了一些网络通信相关的参数,但是都无济于事。
针对这个网络流量异常,本文的分析思路是通过一些工具将网络通信的内容抓包抓下来,然后用winshark进行分析。方法也比较具备通用性,针对一些网络异常的问题都可以采用类似方法进行探索。
2. 准备工作
2.1 tcpdump
在运行alluxio的各个节点上安装tcpdump。
yum install tcpdump
用法:
tcpdump -i 网络设备名 [可选的其他额外选项]
通过几个例子来了解tcpdump的主要用法:
#1. 获取10.8.12.16和10.8.12.17或者10.8.12.18在非80端口上通信的tcp包信息,并且以详细方式显示,再写入当前目录下的net.dump文件。注意host port信息放在最后 sudo tcpdump -vv -w net.dump host 10.8.12.16 and \(10.8.12.17 or 10.8.12.18\) and port ! 80 and tcp #2. src 和dsc用法,可以用在hostname或者端口前面。下面例子表示只抓取10.8.12.16为源,目标是80端口的数据包 tcpdump src 10.8.12.16 and dst port 80
2.2 winshark
服务器上只有终端,我们在本地的win环境下安装下winshark.