LoaRunner性能测试系统学习教程:网络监控(6)

上期我们讲到LoaRunner性能测试磁盘监控 , 这期我们讲LoaRunner性能测试网络监控 。
网络监控如果系统的性能出现问题了 , 但发现其它指标并没任何问题 , 那么这很可能是由于网络原因导致系统的性能出现问题 。 如何判断是否是由于网络的原因导致系统性能受影响呢?一个简单的办法是比较涉及网络的操作和与网络无关的操作 , 如果正在运行的程序在进行一定距离的远程读取和写入 , 而且运行很慢 , 但其它的操作是正常的 , 那这很可能是网络问题造成的 , 一些潜在的网络瓶颈可能由以下因素造成:一

  • 客户端网络接口;
  • 网络带宽;
  • 网络拓扑结构;
  • 服务器端网络接口;
  • 服务器CPU负载;
  • 服务器存储器使用状态;
  • 服务器带宽;
  • 配置效率低下;
  • ping命令 , 在下面这些情况下ping命令有帮助:
  • 确定网络的状态和各种外部主机;
  • 跟踪并隔离硬件和软件故障;
  • 对网络的检测、测定和管理;
关于ping命令常用参数项如下:
-c
指定了信息包数 , 如果有IP记录参数 , 那么这个参数也有可用的 , 可以捕捉到ping信息包的最小值 。
-s
指定信息包的长度 , 可以使用这个参数项来检查分段和重新组合 。
-f
以10ms的间歇发送信息包或者在每次回应之后立即发送 , 只有根用户才可以使用这个参数项 。
如图所示的实例 。
LoaRunner性能测试系统学习教程:网络监控(6)文章插图
注意:ping命令在网络上运行可能很困难 , 应该小心使用 , 连续执行ping命令只能由根用户操作 。
在上面的这个例子中 , 1秒钟发送了1000个信息包 , 这个命令使用了IP和网络控制信息协议(ICMP)因而没有涉及到任何传输协议(UDP/TCP)和应用程序 , 测到的数据 , 比如往返时间 , 不会影响到总体的性能特征 。
如果测试过程中发送大量的信息报到目的地址 , 需要考虑如下几个方面的内容:
  • 发送信息包对系统来说 , 增加了负载;
  • 使用netstat–i命令可以在试验过程中监测网络接口的状态 , 通过查看0errs的输出可以发现系统在发送过程中删除信息包的信息;
  • 同时还需要监控其它的资源 , 如mbuf和发送/接收队列 , 很难在目标系统上增加一个大的负载 , 或者在其它的系统过载之前该系统就过载了;
考虑结果的相关性 , 如果想监控或测试的仅仅是一个目标系统 , 在其它的一些系统上做同样的测试进行比较 , 因为可能是网络或路由器出现故障 。
Netstat命令可以用来显示网络的状态 , 一般来说 , 它是用来于故障识别作为性能评定用的 , 通常该命令可以确定网络上的流量 , 从而可以确定性能故障是否由于网络阻塞所引起 。 netstat命令显示关于配置网络接上的流量 , 主要包括以下几方面:
  • 和套接字有关的任何一个协议控制块的地址及所有套接字的状态;
  • 收到、发送出去和通信子系统中丢失的信息包数量;
  • 每个接口的累计统计信息;
  • 路由和它们的状态;
  • netstat命令格式如下:
  • netstat选项
常用选项的含义如下:
-a
显示所有socket , 包括正在监听的 。
-c
每隔1秒就重新显示一遍 , 直到用户中断他 。
-i
显示所有网络接口的信息 , 格式同“ifconfig–e” 。
-n
以网络IP地址代替名称 , 显示出网络连接情形 。
-r
显示核心路由表 , 格式同“route–e” 。
-t
显示TCP协议的连接情况 。
-u
显示UDP协议的连接情况 。
-v
显示正在进行的工作 。
netstat–in命令:显示所有配置接口的状态 , 如图所示 。