北京派网软件有限公司1/461.硬件问题及评估系统诊断命令主要用来对硬件配置及性能进行诊断,目前主要提供以下诊断功能:1)HT(HyperThreading)问题诊断2)硬件性能评估1.1HT问题诊断(jflowstat)Panaos在某些打开了CPUHT(HyperThreading)选项主机上CPU调度功能不能正常工作,主要表现为数据处理CPU不能正确切换,因此,要想确保Panaos的调度能正常工作,一般需要在BIOS里关闭HT。通过jflowstat命令可以发现Panaos的调度是否正常工作。下面是执行一次该命令的屏幕输出:#floweyejflowstatjflow_pkt_count=0jflow_loop_count=404695071jflow_mbuf=0x0jflow_stage=21event_qsize=2047event_count=0event_reader=0event_writer=0主要看jflow_loop_count这个计数器,如果在两次命令执行之间,这个参数一直没有变化,或者第一次执行时,这个参数为0,那么就表示Panaos的调度没有正常工作,HT肯定被打开了,需要在BIOS里将HT关掉。1.2硬件性能评估(ifsendpkt)为了方便合作伙伴快速并方便的诊断自己采购的硬件设备的性能,Panabit在10.04版本中集成了一个用来测北京派网软件有限公司2/46试设备网络性能的工具,这个工具由ifsendpkt来触发。下面先介绍一下如何构建测试的环境。构建测试环境的工作很简单,只需要被测试机和一根或几根网线即可。假如想测试设备上em0和em1两个网络端口之间的性能,可以如下实现:1)将em0和em1设置成网桥模式(注意:必须属于同一个网桥)2)将em0和em1用网线连接起来3)使用ifsendpkt命令发种子包4)使用ifstat命令查看实时em0和em1上的实时统计结果Ifsendpkt命令格式如下:Ifsendpktif-namepacket-numpacket-size其中:1)if-name:网卡的名称,比如em0或em12)packet-num:发送种子包的个数,一般使用32或643)packet-size:发送种子包的长度,比如64、128和256等等例如:ifsendpktem03264,就表示发送32个长度为64字节的UDP数据包(注意,Panabit使用UDP数据包作为测试种子包,目前还不支持其它类型的数据包)。使用这个命令后,就可以测试从em0到em1方向上的64字节数据包时的性能。如果想同时测试两个方向的性能,只需要执行一次ifsendpktem13264命令即可,ifstat命令会显示两个方向上的统计结果。如果只想测试硬件的裸体性能(就是不经过Panabit业务逻辑),可以在执行ifsendpkt命令之前,先将网卡设置成软件bypass模式(注意不是硬件bypass),具体命令如下:#floweyeifsetname=em0bypass=1#floweyeifsetname=em1bypass=1北京派网软件有限公司3/462.对象统计分析根据对象类型,网络流量统计命令可以分为几个大类:1)网卡流量统计:统计网卡流量以及收发包信息2)应用流量统计:统计应用或应用组流量信息3)IP流量统计:统计某个内网IP流量信息4)应用对象统计:统计QQ号码,MSN账号和共享用户等信息5)数据库信息显示2.1网卡流量统计(ifstat,ifget)Ifstat命令主要用来查看网卡数据速率(bps),收发包速率(pps)和TCP、UDP以及网卡上面的寄存器信息,它的格式为:Ifstat[if-name]如果指定网卡名称(if-name),则显示该网卡内部驱动所统计到的信息,比如寄存器信息,网卡队列信息等等。如果不指定任何网卡,则显示所有网卡的统计信息,下面是一个统计例子:ix39823.46M9823.48M959322959324009823.46M9823.48M0095932295932400ix19823.48M9823.46M959324959322009823.48M9823.46M0095932495932200上面输出总共有15列,每列顺序如下:namebps-inbps-outpps-inpps-outbps-tcpinbps-tcpoutbps-udpinbps-udpoutpps-tcpinpps-tcpoutpps-udpinpps-udpoutpps-synpps-synack其中:1)name表示网卡名称北京派网软件有限公司4/462)bps是bitpersecond的简写3)pps是packetpersecond的简写4)in表示输入,out表示输出5)syn表示TCP的SYN包6)synack表示TCP的SYN-ACK包ifget命令用来获取某个网卡上的统计信息,比如下面的输出:quota=20mtu=1500zone=insidemode=0ifdesc=82545EM_COPPERpeer=nonedriver=PANAOSlink-state=upmacaddr=00:0C:29:67:51:F7rx-byte=185973rx-pkt=1417rx-tcp-byte=168970rx-tcp-pkt=1328rx-udp-byte=14543rx-udp-pkt=48tx-byte=0tx-pkt=0tx-tcp-byte=0tx-tcp_pkt=0tx-udp-byte=0tx-tcp-pkt=0invalid-pkt=0no-buffer=0tx-drop=0watchdog-events=0big-packets=0bps-in=0bps-out=0bps-tcp-in=0bps-tcp-out=0北京派网软件有限公司5/46bps-udp-in=0bps-udp-out=0pps-in=0pps-out=0pps-tcp-in=0pps-tcp-out=0pps-udp-in=0pps-udp-out=0上面每一行的输出含义自明,这里不再赘述。2.2应用流量统计(appstat)应用流量统计命令可以根据用户指定的参数或选项显示对应的应用流量统计信息,这些统计信息包括如下内容:1)当前连接数2)当前节点数3)累计上下行流量和总流量4)最近10分钟上下行流量和总流量5)流量所占列表项的百分比6)当前的上下行速率和总速率下面是appstat的命令格式:appstat[app=XXX][sort=xxx][bridge=xxx][showsum]其中:1)app表示应用名称或应用组名称。比如app=p2p表示显示P2P协议组里的所有应用统计信息;北京派网软件有限公司6/462)sort表示排序方式。sort=all表示按照累计总流量排序;sort=last表示按照最近10分钟总流量排序;sort=bpsup表示按照当前上行速率排序;sort=bpsdn表示按照当前下行速率排序;sort=bps表示按照当前总速率排序;sort=allup表示按照累计上行流量排序;sort=alldn表示按照累计下行流量排序;sort=lastup表示按照最近10分钟上行流量排序;sort=lastdn表示按照最近10分钟下行流量排序;sort=flow表示按照当前连接数排序;3)bridge表示网桥编号。0表示整个系统;1~4分别表示网桥1至网桥4;5~8表示虚拟链路1至4;4)showsum表示是否在最后显示一行汇总信息,如果没有这个参数,则表示不显示汇总信息;下面是一次输出结果:default未知应用00155.18K0155.18K81.66135.78K0135.78K87.61000…httpsHTTPS80584.43K0584.43K3.16124.89K0124.89K4.36000….thunder迅雷000000.000000.00000…每列的含义依次如下:应用英文名;应用中文名;应用连接数;应用节点数;累计上行流量;累计下行流量;累计上下行流量之和;累计流量所占百分比;最近10分钟上行流量;最近10分钟下行流量;最近10分钟累计上下行流量之和;最近10分钟累计流量所占百分比;上行速率;下行速率;上下行总速率。北京派网软件有限公司7/462.3内网IP流量统计(ipobjget,ipobjlistflow,ipobjlistipa,ipobjlist)当打开“内网IP统计”选项后,Panabit就会记录并统计每个它所检测到的内网IP的相关信息,这些信息包括:1)汇总信息(比如流入和流出速率,TCP和UDP连接数)2)身份信息(比如QQ号码,MSN账号,POP3账号)3)共享用户信息4)连接数信息5)当前应用流量信息Ipobjget命令用来获取汇总信息,它的格式为:ipobjgetip-address#floweyeipobjget192.168.0.2addr=192.168.0.2ttl=600life=6181inbytes=692.30Koutbytes=1.04Mbpsin=0bpsout=0flowcnt=2tflowpassed=0uflowpassed=0北京派网软件有限公司8/46bindmac=0mac=00.1c.bf.83.26.57其中ttl表示该IP的生存期,如果在这个时间内没有流量的话,该IP对象就会从系统那个中删除掉;bindmac表示是否做IP和MAC地址绑定(目前这个字段只是保留,并没有实现);life字段表示该IP从第一次检测到现在所存在的时间;其它字段不言自明,这里就不赘述了。ttl和life的单位均为秒。Ipobjlistflow命令用来列出某个IP地址当前所有的TCP和UDP连接信息,它的格式为:ipobjlistflowip-addr[app]。app为可选参数,如果指定app,则只显示属于该app的连接,app可以是一个单独的应用,也可以是一个应用组比如ipobjlistflow192.168.0.2p2p显示192.168.0.2的所有p2p连接。下面是一条连接的信息:67HTTPStcp192.168.0.2:2855--192.168.0.20:44316243040834664[00]其中:1)67表示这条连接从创建到现在存在了67每秒;2)HTTPS表示这是一条HTTPS应用连接;3)tcp表示这是一条TCP连接;4)192.168.0.2:2855-192.168.0.20:443包含连接的IP地址和端口信息;5)1624和3040为连接正反两个方向的流量分别为1624Bytes和3040Bytes,4664是这两个数之和;6)83表示该连接的剩余生存期为83秒身份信息和共享用户信息使用appobjlist命令显示,请参考它的使用说明。北京派网软件有限公司9/46Panabit会实时记录分析内网IP的当前流量信息,用户可以使用ipobjlistipa命令,命令使用方式如下:ipobjlistipa–ipxxx.xxx.xxx.xxx–sin|out|all–appapp-name其中:1)-ip参数表示指定IP地址,可以指定某个IP地址,也可以指定一段IP地址或一个子网段;2)-s参数指定排序方式,in表示按照应用流入速率排序,out表示按照应用流出速率排序,all表示按照应用总速率排序。3)-app指定应用或应用组ipobjlistipa命令输出的每一行格式如下:ip地址应用英文名称应用中文名称应用流入速率应用流出速率应用总速率那么,用户如何能得到目前在线的内网IP列表呢?这可以使用ipobjlist命令,ipobjlist命令格式如下:ipobjlist[-ipip-addr][-sall|in|out|allbps|inbps|outbps|flowcnt|ipaddr|account|natip][-nxx]其中:1)-ip参数指定要显示的IP地址及其范围,比