2024年3月29日发(作者:)

1. 硬件问题及评估

系统诊断命令主要用来对硬件配置及性能进行诊断,目前主要提供以下诊断功能:

1) HT(Hyper Threading)问题诊断

2) 硬件性能评估

1.1 HT问题诊断(jflow stat)

Panaos在某些打开了CPU HT(Hyper Threading)选项主机上CPU调度功能不能正

常工作,主要表现为数据处理CPU不能正确切换,因此,要想确保Panaos的调度能正常

工作,一般需要在BIOS里关闭HT。通过jflow stat命令可以发现Panaos的调度是否正

常工作。下面是执行一次该命令的屏幕输出:

# floweye jflow stat

jflow_pkt_count=0

jflow_loop_count=404695071

jflow_mbuf=0x0

jflow_stage=21

event_qsize=2047

event_count=0

event_reader=0

event_writer=0

主要看jflow_loop_count这个计数器,如果在两次命令执行之间,这个参数一直没有

变化,或者第一次执行时,这个参数为0,那么就表示Panaos的调度没有正常工作,HT

肯定被打开了,需要在BIOS里将HT关掉。

1.2 硬件性能评估(if sendpkt)

为了方便合作伙伴快速并方便的诊断自己采购的硬件设备的性能,Panabit在10.04版

本中集成了一个用来测试设备网络性能的工具,这个工具由if sendpkt来触发。下面先介绍

一下如何构建测试的环境。

构建测试环境的工作很简单,只需要被测试机和一根或几根网线即可。假如想测试设备

上em0和em1两个网络端口之间的性能,可以如下实现:

1) 将em0和em1设置成网桥模式(注意:必须属于同一个网桥)

2) 将em0和em1用网线连接起来

3) 使用if sendpkt命令发种子包

4) 使用if stat命令查看实时em0和em1上的实时统计结果

If sendpkt命令格式如下:If sendpkt if-name packet-num packet-size

其中:

1) if-name:网卡的名称,比如em0或em1

2) packet-num:发送种子包的个数,一般使用32或64

3) packet-size:发送种子包的长度,比如64、128和256等等

例如:if sendpkt em0 32 64,就表示发送32个长度为64字节的UDP数据包(注意,

Panabit使用UDP数据包作为测试种子包,目前还不支持其它类型的数据包)。使用这个命

令后,就可以测试从em0到em1方向上的64字节数据包时的性能。如果想同时测试两个

方向的性能,只需要执行一次if sendpkt em1 32 64命令即可,if stat命令会显示两个方向

上的统计结果。

如果只想测试硬件的裸体性能(就是不经过Panabit业务逻辑),可以在执行if sendpkt

命令之前,先将网卡设置成软件bypass模式(注意不是硬件bypass),具体命令如下:

# floweye if set name=em0 bypass=1

# floweye if set name=em1 bypass=1

2. 对象统计分析

根据对象类型,网络流量统计命令可以分为几个大类:

1) 网卡流量统计:统计网卡流量以及收发包信息

2) 应用流量统计:统计应用或应用组流量信息

3) IP流量统计:统计某个内网IP流量信息

4) 应用对象统计:统计QQ号码,MSN账号和共享用户等信息

5) 数据库信息显示

2.1 网卡流量统计(if stat, if get)

If stat命令主要用来查看网卡数据速率(bps),收发包速率(pps)和TCP、UDP以及网

卡上面的寄存器信息,它的格式为:If stat [if-name]

如果指定网卡名称(if-name),则显示该网卡内部驱动所统计到的信息,比如寄存器信

息,网卡队列信息等等。

如果不指定任何网卡,则显示所有网卡的统计信息,下面是一个统计例子:

ix3 9823.46M 9823.48M 959322 959324 0 0 9823.46M 9823.48M 0 0 959322 959324 0 0

ix1 9823.48M 9823.46M 959324 959322 0 0 9823.48M 9823.46M 0 0 959324 959322 0 0

上面输出总共有15列,每列顺序如下:

name bps-in bps-out pps-in pps-out bps-tcpin bps-tcpout bps-udpin bps-udpout pps-tcpin

pps-tcpout pps-udpin pps-udpout pps-syn pps-synack

其中:

1) name 表示网卡名称

2) bps是bit per second的简写