UNIX 网络性能分析(3)

来源:developworks 作者:Martin C. Brown
  

还可以检查 NFS 服务生成的 NFS 统计数据。nfsstat 命令生成关于 NFS 服务的服务器端和客户端的详细统计数据。例如,通过使用 -s 命令行选项并用 -v 选项指定 NFS 版本,可以生成关于 NFS 服务的服务器端的 NFS v3 统计数据(见清单 10)。


清单 10. 带 -s 和 -v 命令行选项的 nfsstat 命令
				
$ nfsstat -s -v3  

Server rpc:
Connection oriented:
calls      badcalls   nullrecv   badlen     xdrcall    dupchecks  dupreqs    
36118      0          0          0          0          410        0          
Connectionless:
calls      badcalls   nullrecv   badlen     xdrcall    dupchecks  dupreqs
75         0          0          0          0          0          0          

Server NFSv3:
calls     badcalls  
35847     0         
Version 3: (35942 calls)
null        getattr     setattr     lookup      access      readlink
15 0%       190 0%      83 0%       3555 9%     21222 59%   0 0%        
read        write       create      mkdir       symlink     mknod       
9895 27%    300 0%      7 0%        0 0%        0 0%        0 0%        
remove      rmdir       rename      link        readdir     readdirplus 
0 0%        0 0%        0 0%        0 0%        37 0%       20 0%       
fsstat      fsinfo      pathconf    commit      
521 1%      2 0%        1 0%        94 0%       

Server nfs_acl:
Version 3: (0 calls)
null        getacl      setacl      getxattrdir 
0 0%        0 0%        0 0%        0 0%  

badcalls 值高表示有无效的请求发送给服务器,这说明客户机由于软件问题或硬件故障工作不正常,正在提交无效的请求。

大型网络中的 ping 时间

如果可以 ping 通机器,但是网络性能仍然有问题,就需要判断网络中出现性能问题的位置。在大型网络中,路由器把整个网络分隔为多个网段,可以使用 traceroute 工具判断两台机器之间的路由中的某个点是否出了问题。

traceroute 工具与 ping 工具相关,它通常提供网络数据包传输所经过的每个路由器的 ping 时间。在大型网络中,这有助于缩小问题的位置范围。在 Internet 上使用许多路由器在不同的 Internet Service Providers (ISP) 之间传输数据包,在通过 Internet 发送数据包时,也可以使用 traceroute 识别潜在的问题。

例如,清单 11 显示英国的两个办公室(它们使用不同的 ISP)之间的 traceroute。在这里,由于故障无法连接目的地机器。


清单 11. 英国的两个办公室之间的 traceroute
				
$ traceroute gendarme.example.com
traceroute to gendarme.example.com (82.70.138.102), 30 hops max, 40 byte packets
 1  voyager.example.pri (192.168.1.1)  14.998 ms  95.530 ms  4.922 ms
 2  dsl.vispa.net.uk (83.217.160.18)  32.251 ms  95.674 ms  30.742 ms
 3  rt-gw1.tcm.vispa.net.uk (62.24.228.1)  49.178 ms  47.718 ms  123.261 ms
 4  195.50.119.249 (195.50.119.249)  47.036 ms  50.440 ms  143.123 ms
 5  ae-11-11.car1.Manchesteruk1.Level3.net (4.69.133.97)  92.398 ms  137.382 ms  
52.780 ms
 6  PACKET-EXCH.car1.Manchester1.Level3.net (195.16.169.90)  45.791 ms  140.165 ms  
35.312 ms
 7  spinoza-ae2-0.hq.zen.net.uk (62.3.80.54)  33.034 ms  39.442 ms  33.253 ms
 8  galileo-fe-3-1-172.hq.zen.net.uk (62.3.80.174)  34.341 ms  33.684 ms  33.703 ms
 9  * * *
10  * * *
11  * * *
12  * * *

在小型网络中,很可能没有分隔网络的路由器,所以 traceroute 不会有任何帮助。ping 和 traceroute 都依靠连接主机来判断问题。

现在,您已经掌握了处理 UNIX 网络性能问题的基本知识和技术。




结束语

很难在一台机器上确定 UNIX 网络性能问题,因为问题可能出现在网络中的任何地方。但是,可以在网络中的多个位置使用 ping 和 traceroute 检查性能,从而缩小问题位置的范围。初步了解了问题之后,可以使用其他网络工具获得关于造成问题的协议或应用程序的详细信息。本文讨论了获得基线信息的基本方法,然后介绍了用来识别问题的一些工具。


时间:2009-10-30 20:16 来源:developworks 作者:Martin C. Brown 原文链接

好文,顶一下
(8)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量