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


    上期我们讲到LoaRunner性能测试磁盘监控,这期我们讲LoaRunner性能测试网络监控。

    网络监控


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

    • 客户端网络接口;  

    • 网络带宽;  

    • 网络拓扑结构;  

    • 服务器端网络接口;  

    • 服务器CPU负载;  

    • 服务器存储器使用状态;  

    • 服务器带宽;  

    • 配置效率低下;  

    • ping命令,在下面这些情况下ping命令有帮助:  

    • 确定网络的状态和各种外部主机;  

    • 跟踪并隔离硬件和软件故障;  

    • 对网络的检测、测定和管理;  


    关于ping命令常用参数项如下:  -c  指定了信息包数,如果有IP记录参数,那么这个参数也有可用的,可以捕捉到ping信息包的最小值。  -s  指定信息包的长度,可以使用这个参数项来检查分段和重新组合。  -f  以10ms的间歇发送信息包或者在每次回应之后立即发送,只有根用户才可以使用这个参数项。  如图所示的实例。

    注意: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命令:显示所有配置接口的状态,如图所示。

    MTU:最大传输单元,使用接口时可以传输的最大信息包大小,以字节为单位。RX和TX这两列表示的是已准确无误地收发了多少数据包( RX - OK / TX -OK)产生了多少错误(RX-ERR/TX-ERR)丢弃了多少包(RX-DRP/TX-DRP)由于误差而遗失了多少包(RX-OVR/TX-OVR)最后一列展示的是为这个接口设置的标记,在利用ifconfig显示接口设置时,这些标记都采用一个字母。说明如下:B:已设置了一个广播地址。L:该接口是个回送设备。M:接收所有数据包(混乱模式)。N:避免跟踪。O:在该接口上,禁用A R P。P:这是个点到点链接。R:接口正在运行。U:接口处于“活动“状态。netstat  –nr命令:显示路由器的相关信息,如图所示。

    输出结果中,第二列展示的是路由条目所指的网关,如果没有使用网关,就会出现一个星号(*)或0.0.0.0;第三列展示路由的概述,在为具体的IP地址找出最恰当的路由时,内核将查看路由表内的所有条目,在对找到的路由和目标路由比较之前,将对IP地址和genmask进行按位“和”计算;第四列显示了不同的标记,这些标记的说明如下:

    • Gateway:显示路由条目所指的网关,如果没有使用网关,就会出现一个星号(*)或0.0.0.;

    • Genmask:显示路由的概述,在为具体的IP地址找到最合适的路由时,内核将查看路由表内的所有条目,在对找到的路由和目标路由比较之前,将IP地址和Genmask进行按位“与”计算;


    Flags:显示标记信息,常用标记如下:G:路由将采用网关;U:准备使用的接口处于“活动”状态;H:通过该路由,只能抵达一台主机;D:如果路由表的条目是由ICMP重定向消息生成的,就会设置这个标记;M:如果路由表条目已被ICMP重定向消息修改,就会设置这个标记;Iface:显示该连接所用的物理网卡,如eth0表示用第一张,eth1表示用第二张。如果需要显示活动或被动套接字的信息,可使用选项- t、- u、- w和-x,其分别表示TCP、UDP、RAW和UNIX套接字连接。如果还需要显示出等待连接(也就是说处于监听模式)的套接字,可以使用-a标记,这样就能得到一份服务器清单,当前所有运行于系统中的所有服务器都会列入其中。netstat -ta命令:显示TCP套接字连接,如图所示。

  • 相关阅读:
    限制容器对CPU的使用
    限制容器对内存的使用
    一张图搞懂容器所有操作
    TQ2440学习笔记——Linux上I2C驱动的两种实现方法(1)
    pr_debug、dev_dbg等动态调试三
    pr_debug、dev_dbg等动态调试二
    TQ2440平台上LCD驱动的移植
    Android如何通过shareduserid获取系统权限
    基于Android的串口聊天室 (基于tiny4412) 一
    Java中的泛型方法
  • 原文地址:https://www.cnblogs.com/chuansinfo/p/13952519.html
Copyright © 2020-2023  润新知