计算机网络管理-网络性能管理_第1页
计算机网络管理-网络性能管理_第2页
计算机网络管理-网络性能管理_第3页
计算机网络管理-网络性能管理_第4页
计算机网络管理-网络性能管理_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机网络计算机网络管理管理网络性能管理网络性能管理网络性能管理v网络性能管理的指标v采集性能指标数据的方法v网络性能管理的流程v网络性能管理常用工具v服务质量网络性能管理的指标网络总体性能指标网络总体性能指标 响应时间响应时间网络利用率网络利用率吞吐量吞吐量网络的连通性网络的连通性网络性能管理的指标节点性能指标节点性能指标 节点处理时延节点处理时延丢包率丢包率转发率转发率吞吐量吞吐量网络性能管理的指标网络链路指标网络链路指标 链路的帧传输延时链路的帧传输延时带宽利用率带宽利用率信道利用率信道利用率带宽带宽网络性能管理的指标网络应用服务的性能指标网络应用服务的性能指标 系统带宽系统带宽最大稳定

2、连接数最大稳定连接数吞吐率吞吐率系统响应时间系统响应时间采集性能指标数据的方法v 从网络上获得网络性能指标数据的方法有以下三类:1.查询网络设备获得与性能相关的信息2.观察网络上现有的流量3.生成测试流量发送到网络上,以测试网络性能网络性能管理流程图 9 1性能管理流程网络性能管理常用工具v节点性能管理工具nWindows2000操作系统提供了性能监视器和网络监视器nLinux操作系统监视工具 n系统资源管理工具Server Vantage v链路性能管理工具nDSP-4000数字式电缆分析仪 nOptiFiber光缆认证分析仪 v网络性能管理工具n网络性能分析测试工具SmartBits n网

3、络流量检测工具MRTG n网络性能测试工具Netperf 网络性能管理常用工具v网络应用服务性能测试工具n负载测试工具LoadRunnern网络应用性能管理工具Network Vantage n自动化负载测试工具QALoad n服务器性能工具Web Application Stress服务质量vQoS概述n传统网络缺陷l传统IP路由技术的吞吐量不高l传统IP没有服务质量QoS保证nQoS功能l报文分类和着色l网络拥塞管理l网络拥塞避免l流量监管和流量整形lQoS信令协议服务质量vQoS服务模型 n综合服务体系结构IntServ l两种服务:保证服务、负载控制服务l四个功能部件:资源预留协议(R

4、SVP)、访问控制(Admission Control)、分类器(Classifier)、队列调度器(Scheduler)l调度算法:WFQ、WF2Q、SCFQ、VC、MD-SCFQ、WRR等 l流程:1.在发送报文前,应用程序首先通知网络它自己的流量参数和需要的特定服务质量请求 2.网络在收到应用程序的资源请求后,执行资源分配检查,基于应用程序的资源申请和网络现有的资源情况,判断是否为应用程序分配资源。一旦网络确认为应用程序的报文分配了资源,则只要应用程序的报文控制在流量参数描述的范围内,网络将承诺满足应用程序的QoS需求。3.应用程序一般在收到网络的确认信息,才开始按照申请的流量参数和特定

5、服务质量请求发送报文 服务质量n区分服务体系结构DiffServ l所提供服务:1. Expedited Services(EF-RFC2598)2. Assured Services(AF-RFC2597)l所运用技术:1. CAR2. 队列技术v IPQoS的实现机制 n队列管理机制(Queue Management Mechanism)PPD、EPD、RED、FRED、RIO、BLUE等算法 服务质量n队列调度机制Queueing Scheduling Mechanism 队列调度算法主要有:基于循环调度的算法、基于GPS(Generalized Processor Sharing)的算

6、法两大类n基于约束的路由(CBR) n业务量工程 本章小结v对反映网络性能的指标分为网络总体性能指标、节点性能指标、链路性能指标和网络应用服务的性能指标等v介绍了采集性能指标数据的三种方法:查询网络设备获得与性能相关的信息、观察网络上现有的流量、生成测试流量发送到网络上测试网络性能,并给出了进行网络性能管理的参考流程。v概要地介绍了随着新兴的多媒体实时业务而出现的服务质量(Qos)技术、服务质量以及实现机制等内容。 联系与思考v 简述反映网络性能的各类性能指标。v 简述采集性能指标数据的三种方法。v 练习查询网络设备的MIB中与性能有关的信息。v 举例说明通过生成测试流量来采集性能指标数据的方

7、法。v 简述网络性能管理的流程。v 网络性能管理都有哪些常用工具?v 练习使用测试工具来采集节点性能指标数据。v 简述OoS的IntServ模型。v 简述OoS的DiffServ模型中域的概念以及各种类型路由器的作用。计算机网络管理计算机网络计算机网络管理管理网网络性能管理案例络性能管理案例网络性能管理案例v使用MRTG监测网络流量v使用netperf监测网络流量vLinux操作系统性能测试vLinux操作系统性能优化v使用WAS测试Web服务器性能v使用Apache Bench测试HTTP服务器的性能v用Apache Bench测试Apache HTTP服务器性能vApache HTTP服务

8、器的性能优化使用 MRTG监测网络流量v 编译、安装MRTGv 最新版本的MRTG程序可在其官方网站/上下载。其中包含程序原代码、编译好的Win32应用程序、以及Linux操作系统的RPM安装包。若希望在Unix或者Linux操作系统的环境下编译MRTG程序原代码,必须先确定机器上已安装GCC编译程序及Perl程序。由于MRTG程序产生的流量统计图为PNG格式的图形文件,并且使用了图形压缩函数库zlib、图表绘制函数库gd以及有关处理png图形格式的函数库。因此,为了使MRTG能够正常的安装和运行,在安装MRTG的主机中必须事先安装好perl、zlib、gd

9、、libpng、ucd-SNMP等软件。可以用如下的RPM命令来确认是否安装了这些软件: 使用 MRTG监测网络流量v # rpm -qa | grep perlv perl-5.6.0-17v mod_perl-1.24_01-3v # rpm -qa | grep zlibv zlib-1.1.3-24v zlib-devel-1.1.3-24v # rpm -qa | grep gdv gd-1.8.4-4v gd-devel-1.8.4-4v # rpm -qa | grep libpngv libpng-1.0.12-2v libpng-devel-1.0.12-2v # rpm -

10、qa| grep SNMPv ucd-SNMP-4.2.1-7v ucd-SNMP-utils-4.2.1-7v ucd-SNMP-devel-4.2.1-7 使用 MRTG监测网络流量v gd:绘图链接库,用来处理PNG格式的图形文件。v 下载地址:http:/ libpng:gd在产生PNG图形文件时需要的链接库。v 下载地址:/pub/png/src/。v zlib:libpng压缩图形文件时需要的链接库。v 下载地址:/zlib。v 另外,由于MRTG使用HTML的格式来显示监测的结果,因此还需要在主机中安装好

11、一个Web服务器,如Apache的HTTP服务器。v 当上述链接库、编译环境和Web服务器都安装好了之后,便可以按照如下的步骤编译、安装MRTG软件。首先解开程序原代码的压缩包,并切换至该目录下: v # tar -zxvf mrtg-2.9.17.tar.gzv # cd mrtg-2.9.17使用 MRTG监测网络流量v接下来便可配置编译程序进行编译时需用的各项参数,包括即将生成的mrtg应用程序存放的路径(本案例设定mrtg 的安装路径为:/usr/local/mrtg-2),zlib、gd、libpng等链接库的存放路径等参数:v# ./configure -prefix=/usr/l

12、ocal/mrtg-2 -with-gd=/usr/include -with-gd-lib=/usr/lib -with-gd-inc=/usr/include -with-png=/usr/include -with-zlib=/usr/include使用 MRTG监测网络流量v当configure程序对系统环境检查完成并确认适合安装MRTG程序后,将在安装目录下生成Makefile文件。接下来便可执行make命令编译mrtg源程序,然后将编译完成的mrtg可执行应用程序安装到指定路径里:v# makev# make install使用 MRTG监测网络流量1.1. 在被管网络设备上配置在

13、被管网络设备上配置SNMPSNMP服务服务v对于路由器、交换机、主机等不同的网络设备,配置和启动SNMP服务的方法各不相同。在本案例中,被监管的网络设备为一台运行Linux操作系统的主机,下面讲解如何在该主机上配置、运行SNMP服务。v首先检查在该主机上是否安装了SNMP软件,如果没有检测到SNMP软件包,则需要通过安装光盘进行安装,或者从Internet上下载相关软件进行安装:v# rpm -qa| grep SNMP ucd-SNMP-4.2.1-7 ucd-SNMP-utils-4.2.1-7 ucd-SNMP-devel-4.2.1-7使用 MRTG监测网络流量v 如果主机上已经安装了

14、SNMP软件包,则修改SNMPd的配置,使其允许mrtg软件读取该主机上的SNMP统计数据。命令如下:v vi /etc/SNMP/SNMPd.conf 将:v #view systemview included mib2修改为:v view mib2 included .ernet.mgmt.mib-2 fc 将:v access notConfigGroup any noauth exact systemview none none修改为:v access notConfigGroup any noauth exact mib2 none none 然后重新启

15、动SNMPd:v /etc/rc.d/init.d/SNMPd restart使用 MRTG监测网络流量1.1. 配置配置MRTGMRTGvMRTG的配置信息保存在mrtg.cfg文件中,可以手工创建并编辑该配置文件,在其中定义希望的监控特性。mrtg软件包提供有cfgmaker配置工具,这是一个脚本文件,它可以根据运行参数自动生成mrtg.cfg配置文件。v首先在Web服务器的DocumentRoot目录下创建一个子目录,用来存放mrtg生成的统计文件。在本案例中,假设apache httpd的DocumentRoot在/var/www/html目录下,在该目录下创建mrtg子目录:v# m

16、kdir /var/www/html/mrtg其中的/var/www/html/mrtg为mrtg的工作目录。接下来生成mrtg配置文件:使用 MRTG监测网络流量v # cfgmaker -global WorkDir: /var/www/html/mrtg -global Options_: growright,bits -ifref=ip -output /etc/mrtg.cfgpublic 配置工具cfgmaker的参数说明如下:v global表示随后的选项对所有指定的设备都是有效的。v WorkDir用来指示MRTG的工作目录。v Options用来指定一些特定的

17、选项,这里的“growright,bits”是用来指定默认options配置的,对于常见的应用来说默认options配置就可以满足需求了。v ifref用来指示使用什么选项来标识设备接口,可以指定的设备接口有nr、ip、eth、descr、name。nr表示使用在MIBII库中Interface的ifIndex来识别接口;ip表示使用ip地址识别接口;eth表示使用物理地址标识接口;descr表示使用描述信息来标识接口;name表示使用接口名来标识接口。v output用来指示配置文件存放的目录。v public表示监控IP地址为的设备,采用public作为共同

18、体名通过SNMP协议来监控设备。使用 MRTG监测网络流量v 上述的配置范例会对这台网络设备收集流量数据,并对输出图形设定bits及growright选项,同时在/etc/mrtg.cfg目录下产生mrtg.cfg设定文件,而所有产生的图形及网页都会放置在/var/www/html/mrtg目录下。v MRTG软件包中还有一个程序indexmaker,可将配置文件mrtg.cfg中每个Target的website做个简单的index.html文件。利用indexmaker程序生成监测统计结果的首页:v # ./indexmaker -output= /var/w

19、ww/html/mrtg/index.html -title=主机流量统计表 /etc/mrtg.cfg 程序indexmaker按照给定的参数在/var/www/html/mrtg目录下输出一个标题为“主机流量统计表”的index.html文件。使用 MRTG监测网络流量运行运行MRTGMRTG完成完成MRTGMRTG的设置后,使用如下的命令启动的设置后,使用如下的命令启动MRTGMRTG程序:程序:# /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg# /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg可以看可以看到到MRTGM

20、RTG在其工作目录下创建了被监测设备的流量统计图在其工作目录下创建了被监测设备的流量统计图和相应的和相应的HTMLHTML页面,为了让页面,为了让MRTGMRTG持续地读取被监测设备持续地读取被监测设备的数据,并产生具有实效性的统计信息,通常让的数据,并产生具有实效性的统计信息,通常让MRTGMRTG定定时自动地运行。例如,设置时自动地运行。例如,设置MRTGMRTG每隔五分钟运行一次。每隔五分钟运行一次。以以rootroot身份运行命令身份运行命令crontab crontab e e,进入编辑状态后,添,进入编辑状态后,添加内容如下:加内容如下:* */5 /5 * * * * * * *

21、 * /usr/local/mrtg-2/bin/mrtg /usr/local/mrtg-2/bin/mrtg /etc/mrtg.cfg/etc/mrtg.cfg保存所做的修改,退出编辑状态。通过浏保存所做的修改,退出编辑状态。通过浏览器访问地址览器访问地址/mrtg//mrtg/,可以看到如图,可以看到如图 1010 1 1所示的所示的MRTGMRTG生成的流量统计页面。生成的流量统计页面。v 图中深蓝色曲线刻画了网络设备上的某个端口随时间变化的输出流量曲线,而浅绿色曲线则是该端口输入流量随时间的变化图,图下方统计了

22、流量的峰值、平均值和当前值。v MRTG除了能够提供详细的每日流量记录,同时也能够以相同的视觉呈现方式产生过去七天,过去四周,以及过去12个月的流量记录。能够做到这点是因为MRTG把从路由器取得的所有数据都记录下来。这些记录会自动合计,所以不至于随着时间成长地太大,不过仍保留足够提供过去两年来流量趋势的信息。v MRTG并不仅限于监测流量,我们也可以利用MRTG来监测任何SNMP参数。我们甚至可以运用外部程序来收集想要用MRTG进行监控的数据,例如系统负载、登入数量等,或者将二或多项数据来源结合在单一图形内以利观察。与其他类似的软件相比,MRTG更加简便易用,适合于长期的网络监测任务,并提供了

23、友好的用户界面。与商业化网管软件相比,MRTG最大的优点在于它是免费的,同时其功能也在逐渐完善起来。使用使用netperfnetperf测试网络性能测试网络性能 1.1. 编译、安装编译、安装netperfnetperfv最新版本的netperf程序可在其官方网站/上下载。该站点提供与netperf程序相关的信息,包括程序的下载、使用手册、测试的基准以及用户的反馈等。v下载了netperf程序原代码后,首先解开程序原代码的压缩包,并切换至该目录下:v# tar -zxvf netperf-2.4.1.tar.gz # cd netperf-2.4.1 在netper

24、f-2.4.1目录下包含编译netperf应用程序所需的所有文件以及一些为方便测试工作编写的脚本文件。netperf安装文件包含一个makefile文件,在编译应用程序之前需要根据安装环境的要求修改该文件。在安装的netperf应用程序中包含哪些功能,也通过修改该文件进行设置。编译netperf功能的参数选项如表 10 1所示。v -Ae 用针对于HP-UX系统的ANSI C编译器选项v -DDIRTY包含发送数据之前弄脏数据缓存的代码,该选项有助于使网络中正在进行的数据压缩无效v -DHISTOGRAM包含记录测试中请求/响应时间直方图的代码v -DINTERVALS包含在TCP和UDP测试

25、中进行间隔测试的代码,此选项可避免在繁忙网络上丢失数据包v -DDO_DLPI包含测试DLPI的代码v -DDO_UNIX包含测试UNIX域套接字的代码v -D$(LOG_FILE)指定netperf程序在启用调试功能时于何处输出调试结果v -DUSE_LOOPER使用looper或socker进程计算CPU性能v -DUSE_PSTAT对于HP-UX 10或更高版本的系统,使用pstat()函数计算CPU的性能v -DUSE_KSTAT对于Solaris2.X操作系统,使用kstat接口计算CPU的性能v -DUSE_PRO_STAT对于Linux系统,使用/proc/star文件确定CPU

26、的利用率v -DDO_IPV6包含测试Ipv6套接字接口的代码v -U hpux用于在HP-UX系统上编译netperf之时,也能够在HP-RT系统上运行v -DDO_DNS包含测试DNS服务器性能的代码v -DHAVE_SENDFILE包含使用sendfile()函数和send()函数测试发送数据的代码v -D_POSIX_SOURCE用于MPE/ix系统上的安装v -D_SOCKET_SOURCE用于MPE/ix系统上的安装v -DMPE用于MPE/ix系统上的安装v 确定在netperf程序中需要包含哪些功能之后,编辑makefile文件,在相应的行上添加或删除这些功能。下面是一个在Li

27、nux操作系统下makefile文件的设置的实例:v NETPERF_HOME = /opt/netperf LOG_FILE = DEBUG_LOG_FILE=/tmp/netperfdebug” CFLAGS = -o D$(LOG_FILE) DDIRTY DHISTOGRAM DUSE_PROC_STATDDOD_FIRST_BURSTNETPERF_HOME条目定义了netperf的安装目录为/opt/netperf。v LOG_FILE条目定义了应该将调试日志文件放在主机的什么位置。默认情况下,日志文件将放在/tmp目录中。系统重新启动后此目录将会被删除。v CFLAGS行中的DU

28、SE_PROC_STAT选项,设置为在Linux操作系统下编译netperf。v 修改makefile文件之后,必须使用make命令编译源代码,并使用带有instMl选项的make命令安装它:v # make# make install正确地编译和安装了netperf软件包后,必须配置运行netserver程序,接收来自netperf客户端的连接。运行运行netservernetserver以独立模式运行以独立模式运行netservernetserverv要启动要启动netservernetserver,只要运行,只要运行netservernetserver的可执行文件:的可执行文件:v$/o

29、pt/netperf/netserver Starting $/opt/netperf/netserver Starting netserver at port 12865 netservernetserver at port 12865 netserver启动后,它启动后,它将指示使用哪个端口去监听进来的客户端连接,本实例将指示使用哪个端口去监听进来的客户端连接,本实例中,中,netservernetserver监听监听TCPTCP端口端口1286512865。netservernetserver以后台以后台模式运行,使用模式运行,使用psps命令可以检测到该程序正在运行:命令可以检测到该程

30、序正在运行:v$ps ax | grep netserver 17339 7 $ps ax | grep netserver 17339 7 S 0:00/opt/netperf/netserver$ S 0:00/opt/netperf/netserver$ 从从psps命令返命令返回的结果可以看到,回的结果可以看到,netservernetserver程序正在运行,在系统中程序正在运行,在系统中的进程的进程ID(PID)ID(PID)为为1733917339。以独立模式启动。以独立模式启动netservernetserver,它将在后台运行,直到重新启动服务器或手动停止它。它将在后台运行,

31、直到重新启动服务器或手动停止它。 v要手动停止netserver,必须使用kill命令杀死netserver运行实例的PID号,如下所示:v$ps ax | grep netserver 17339 7 S 0:00/usr/local/netperf/netserver $kill-9 17339 $ps ax | grep netserver 17580 pts/1 S 0:00 grep netserver $ 停止netserver程序后,再次执行ps命令检测,返回结果的显示中已经没有该程序。自动启动自动启动netservernetserver对于对于inetdinetd方法,对探测到

32、连接企图时要自动启动的方法,对探测到连接企图时要自动启动的netservernetserver,必须为其在,必须为其在inetd.confinetd.conf文件中创建一个文件中创建一个条目,如下所示:条目,如下所示:netserver stream tcp nowait root netserver stream tcp nowait root /opt/netperf/netserver netservernetserver/opt/netperf/netserver netservernetserver不不使用受保护的使用受保护的TCPTCP端口号,所以可以使用系统中的任端口号,所以可以

33、使用系统中的任意用户启动,本例使用意用户启动,本例使用rootroot用户启动用户启动netservernetserver应用应用程序。程序。inetd.confinetd.conf文件的文件的netservernetserver条目中指定了条目中指定了netservernetserver可执行文件的位置,本实例为可执行文件的位置,本实例为/opt/netperf/opt/netperf。xinetdxinetd配置文件的格式与配置文件的格式与inetdinetd不同,对探测到连接不同,对探测到连接企图时要自动启动的企图时要自动启动的netservernetserver,需要为其在,需要为其在

34、/etc/services/etc/services文件中创建一组说明,如下所示:文件中创建一组说明,如下所示:socket_type=streamsocket_type=streamwait=nowait=nouser=rootuser=rootserver=/opt/netperf/netserver server=/opt/netperf/netserver 运行运行netperfnetperfv根据作用范围的不同,netperf的命令行参数可以分为两大类:全局命令行参数、测试相关的局部参数,两者之间使用“”分隔,如下所示:vnetperf global options- test-sp

35、ecific options 全局命令行选项指定的设置定义了应该执行哪种netperf测试,以及如何执行netperf测试。这些选项用于控制netperf测试的基本设置,对所有测试类型都有效。 v全局命令行选项位于“-”前的global options部分,各全局参数选项之间没有次序的限制。测试批量网络流量的性能测试批量网络流量的性能1. TCP_STREAMv netperf的默认测试类型是TCP_STREAM批量传输测试。测试过程中,netperf根据设定的参数选项,向netserver主机发送批量的TCP数据分组,以确定数据传输过程中的吞吐量,命令如下:v ./netperf -H 10

36、.3.2.1 -l 60 TCP STREAM TEST to Recv Send SendSocket Socket Message Elapsed Size Size Size Time Throughputbytes bytes bytes secs. 10bits/sec16384 16384 16384 60.00 7.63v 在本例中,使用全局命令行选项-H来指定远程netserver主机的IP地址为,另一个选项-l用来设置测试持续的时间为60秒。从netperf的TCP_STREAM测试结果输出中,我们得到以下的一些信息:v 远端系统(netse

37、rver)使用大小为16384字节的socket接收缓存v 本地系统(netperf)使用大小为16384字节的socket发送缓存v 本地系统向远端系统发送的测试分组大小为16384字节v 测试经历的时间为60秒v 吞吐量的测试结果为7.63Mbpsv 缺省情况下,netperf主机发送的测试分组大小通常设置为本地系统所使用的套接字发送缓存的大小,从而减少本地的套接字传输对吞吐量计算的影响。若希望以特定的分组大小进行测试,可以修改相应的nerperf参数选项,TCP_STREAM方式下与测试相关的参数选项如表 10 3所示:v -s size设置本地系统的socket发送与接收缓存大小为si

38、ze字节 -S size设置远端系统的socket发送与接收缓存大小为size字节 -m size设置本地系统发送测试分组的大小为size字节 -M size设置远端系统接收测试分组的大小为size字节 -D对本地与远端系统的socket设置TCP_NODELAY选项v 通过修改与测试方式相关的参数选项,并观察测试结果的变化,可以确定是哪些因素在影响网络连接的吞吐量。测试方式相关的参数选项与全局参数选项之间用“-”进行分隔。例如,如果怀疑由于缺乏足够的缓存区空间,使得路由器无法转发大的数据包,就可以增加测试数据包的大小,以观察吞吐量的变化:v ./netperf -H -l

39、60 - - -m 2048 TCP STREAM TEST to Recv Send Send Socket Socket Message ElapsedSize Size Size Time Throughputbytes bytes bytes secs. 10bits/sec 16384 16384 2048 60.00 7.72UDP_STREAMUDP_STREAMv UDP_STREAM方式使用与TCP_STREAM方式相同的局部命令行参数,可以使用-m来修改测试中使用分组的大小:v ./netperf -t UDP_STREAM -H - -

40、m 1024 UDP UNIDIRECTIONAL SEND TEST to Socket Message Elapsed Messages Size Size Time Okay Errors Throughputbytes bytes secs # # 106bits/sec 65535 1024 9.99 114127 0 91.35 41600 9.99 114122 9.57vUDP_STREAM方式的结果中有两行测试数据,第一行显示的是本地系统的发送统计,这里的吞吐量表示netperf向本地套接字发送分组的能力。但是,由于UDP是不可靠的传输协议,发送出去的分组数

41、量不一定等于接收到的分组数量。v第二行显示的是远端netserver主机接收的情况,在实际网络环境中,一般远端系统套接字缓存大小不同于本地系统的套接字缓存大小,而且由于UDP协议的不可靠性,远端系统的接收吞吐量要远远小于发送出去的吞吐量。测试请求测试请求/ /响应模型的性能响应模型的性能v在客户端/服务器的网络环境下,常见的网络流量类型是请求/响应(request/response)模型,如图 10 2图所示。请求/响应模型中的客户端网络设备通常会发送一些小的数据包,向服务器端查询有关信息,服务器端接收查询请求,经过处理后返回查询结果的数据,返回的查询结果数据一般都是较大的数据信息。TCP_R

42、RTCP_RRv TCP_RR测试在一个TCP连接中发生的多次TCP 请求和响应时网络的性能,这种类型的测试模拟经常出现在数据库中的应用情况。数据库的客户端程序与服务器端程序建立一个TCP连接,然后在这个连接中传送数据库的多次交易过程。下面是一个简单的TCP_RR测试实例:v ./netperf -t TCP_RR -H -l 60 TCP REQUEST/RESPONSE TEST to Local /Remote Socket Size Request Resp. Elapsed Trans. Send Recv Size Size Time Rate

43、bytes Bytes bytes bytes secs. per sec 16384 87380 1 1 59.99 1995.32 16384 16384v TCP_RR测试的输出结果也是由两行组成。第一行显示本地系统的情况,第二行显示的是远端系统的信息。平均的交易率(transaction rate)为1995.32次/秒。注意,在默认的情况下,每次交易的请求数据包和响应数据包的大小都为1个字节,这不具有很大的实际意义。可以通过修改测试相关的参数来改变请求和响应数据包的大小,TCP_RR方式下的参数如表 10 4所示:v -r req,resp设置请求和响应数据包的大小 -s size设

44、置本地系统的套接字发送与接收缓存大小为size字节 -S size设置远端系统的套接字发送与接收缓存大小为size字节 -D对本地与远端系统的socket设置TCP_NODELAY选项v通过使用-r参数,可以改变请求和响应数据包的大小,更改格式有:v-r 32,设置请求数据包的大小为32字节,响应数据包的大小为1字节。v-r 1024,设置请求数据包的大小为1024字节,响应数据包的大小为1字节。v-r 32,1024,设置请求数据包的大小为32字节,响应数据包的大小为1024字节。TCP_CRRTCP_CRRv有些TCP事务要求每一个请求/响应都要建立一个新的TCP连接。最典型的应用就是HT

45、TP,每个HTTP事务都是在一个单独的TCP连接中进行的。使用这种技术的协议需要不断地建立新的TCP连接,并且在交易结束后删除TCP连接。vTCP_CRR方式用于测试在类似HTTP事务的处理过程中的网络性能。下面是一个简单的TCP_CRR测试实例:v ./netperf -t TCP_CRR -H l 60v TCP Connect/Request/Response TEST to v Local /Remotev Socket Size Request Resp. Elapsed Trans.v Send Recv Size Size Time Ratev

46、bytes Bytes bytes bytes secs. per secv v 131070 131070 1 1 59.99 17.32v 16384 16384 v 从上面的测试结果可以看到,即使是使用一个字节的请求和响应分组,事务处理率也明显地降低到每秒钟只有17.32个事务。这是因为对于每一个交易事务,都增加了创建和删除TCP连接的时间开销。TCP_CRR的测试相关参数选项与TCP_RR相同(如表 10 4所示),可以使用-r选项来更改请求和响应数据包的大小。UDP_RRUDP_RRv UDP_RR方式测试使用UDP分组进行请求和响应的交易过程中的网络性能。下面是一个简单的UDP_C

47、RR测试实例: v ./netperf -t UDP_RR -H l 60v UDP REQUEST/RESPONSE TEST to v Local /Remotev Socket Size Request Resp. Elapsed Trans.v Send Recv Size Size Time Ratev bytes Bytes bytes bytes secs. per secv v 65535 65535 1 1 59.99 2176.53v 9216 41600 v由于没有TCP连接所带来的负担,所以事务处理率有较大的提升,达到了每秒2176.5

48、3个事务。如果UDP的处理率与TCP的处理率差别非常大,则需要检查网络设备,确定在网络中的路由器或其它的网络设备是否对UDP和 TCP采用不同的缓存空间和处理技术。分析分析LinuxLinux操作系统的性能操作系统的性能v 用vmstat监视内存使用情况 v 虚拟内存统计工具vmstat(Virtual Memory Statistics),用于监视操作系统的虚拟内存、进程、CPU活动,对系统的整体情况进行统计。vmstat的语法如下:v vmstat -V -n delay countvmstat 各参数的说明如表 10 5所示。v -V表示打印出版本信息 v -n表示在周期性循环输出时,输

49、出的头部信息仅显示一次delay是两次输出之间的延迟时间,如果不指定delay值,则仅输出最近一次启动以来的各性能指标的平均值 count是按照给定的时间间隔进行统计的次数,如果不指定count值,但指定了delay值,则count的缺省值为无穷大v 运行vmstat首先得到的统计报告展现的是从最近一次启动以来的各性能指标的平均值。其它的统计报告显示的是给定采样周期的统计值。vmstat的运行结果如下所示:v # vmstat -n 5 5v procs memory swap io system cpuv r b swpd free inact active si so bi bo in c

50、s us sy id wav 0 0 10800 5396 10692 364576 3 9 74 284 173 223 4 1 92 4v 0 0 10924 5436 7384 369696 22 51 399 118 261 334 18 2 61 19v 0 0 11164 5504 8804 372052 49 163 182 430 388 543 47 3 31 19v 1 0 12464 5492 11708 371968 5 305 154 558 380 510 45 3 30 21v 2 0 12792 5544 15820 371716 145 143 315 446

51、 434 644 43 4 27 27 vvmstat输出结果中各字段的含义为:vprocsvr:等待运行时间的进程数。vb:不可中断休眠的进程数。vw:被交换出但仍可运行的进程数。vmemoryvswpd:被使用的虚拟内存的总数(kB)。vfree:空闲内存的总数(kB)。vbuff:作为缓存使用的内存总数(kB)。vswapvsi:从磁盘交换区读入的内存总数(kB/s)。vso:写入磁盘交换区的内存总数(kB/s)。viovbi:输出到块设备的块数(blocks/s)。vbo:从块设备读取的块数(blocks/s)。vsystemvin:每秒钟发生的中断数,包括系统时钟。vcs:每秒钟发生

52、的转换数。The number of context switches per second.vCPUvus:用户时间的百分比。vsy:系统时间的百分比。vid:空闲时间的百分比。用iostat监视I/O子系统情况 v 输入/输出统计工具iostat(I/O statistics),用于对系统的磁盘操作活动进行监视,报告磁盘活动统计情况和CPU的使用情况。iostat的语法如下:v iostat -c | -d -k -t -V -x device interval count iostat各参数的说明如表 10 6所示。v -c报告CPU的使用情况 v -d报告磁盘的使用情况 v -k按每秒

53、千字节显示数据 v -t输出报告时打印时间 v -V打印出版本信息和用法 v -x device指定要统计的设备名称,默认为所有的设备interval指定统计间隔的时间 v count按照指定时间间隔统计的次数viostat的输出格式如下所示:v# iostatvLinux 2.4.21-4.EL (lizard) 2006年02月21日vavg-cpu: %user %nice %sys %idlev 0.38 0.00 0.11 99.50vDevice: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnvdev8-0 5.86 14.51 42.39

54、 822628 2402306 v iostat输出结果中各字段的含义为:v 由iostat命令产生的第一个报告是CPU的利用率统计报告,对于多处理器来说,统计结果是所有处理器的平均值。该报告显示如下的一些信息:v %user:显示CPU运行在用户级的百分比。v %nice:显示CPU运行在用户级的nice优先级的百分比。v %sys:显示CPU运行在系统级的百分比。v %idle:显示CPU空闲状态的百分比。v 由iostat命令产生的第二个报告是设备的利用率统计报告,提供了每一个物理设备的统计信息。该报告显示如下的一些信息:v Device:设备的名称。v tps:设备每秒钟的传输数。v

55、Blk_read/s:每秒钟从设备读出的数据的块数。v Blk_wrtn/s:每秒钟向设备写入的数据的块数。v Blk_read:从设备读出的数据块的总数。v Blk_wrtn:写入设备的数据块的总数。v kB_read/s:每秒钟从设备读出的数据的千字节数。v kB_wrtn/s:每秒钟向设备写入的数据的千字节数。v kB_read:从设备读出的数据的千字节总数。v kB_wrtn:向设备写入的数据的千字节总数。使用使用sarsar进行综合分析进行综合分析v sar的语法如下 v sar -A -b -B -c -d -H -h -i interval v -q -r -R -t -u -v

56、 -V -w -W -y v -n DEV | EDEV | SOCK | FULL v -x pid | SELF | SUM | ALL v -X pid | SELF | ALL v -I irq | SUM | PROC | ALL | XALL v -U cpu | ALL v -o filename | -f filename v -s hh:mm:ss v -e hh:mm:ss v interval count sar各参数的说明如表 10 7所示 v -A所有的报告,相当于指定参数-bBcdqrRuvwWy -I SUM -I PROC -n FULL -U ALL -b报告

57、输入输出和传输率统计值 -B报告系统分页的统计值 -c报告系统进程的创建活动 -d报告每个块设备的活动情况 -e设备报告的结束时间 -f从文件中获取监控数据 -h当从文件获取数据时,按照较易被格式处理命令处理的格式打印其内容 -H当从文件获取数据时,按照较易被关系数据库系统处理的格式打印其内容 -I报告一个给定中断的统计值 -n报告网络状态 -o将数据以二进制的格式保存在文件中 -q报告队列的长度和负载平均值 -r报告内存和交互区的使用统计 -R报告内存的统计 -s设置报告开始时间 -t当从二进制文件中读取数据时,显示文件创建者本地的时间戳 -uCPU利用率-v报告节点状态,文件和其它的内核表

58、 -V打印出版本信息和用法 -w系统交换活动 -W系统交换活动的统计结果 -yTTY设备活动v使用sar监测系统进程的活动,输出如下报告:v# sar -qvLinux 2.4.21-4.EL (lizard) 02/20/2006v03:20:00 PM runq-sz plist-sz ldavg-1 ldavg-5v03:30:00 PM 0 60 0.10 0.56v03:40:00 PM 0 40 0.52 0.29v03:50:02 PM 0 43 0.61 0.20v04:00:00 PM 0 64 1.99 1.03v04:10:01 PM 0 89 1.29 1.11v04:

59、20:04 PM 0 88 1.13 1.11v04:30:00 PM 0 44 0.14 0.20v04:40:00 PM 0 79 0.82 0.75v04:50:00 PM 0 55 0.02 0.13v05:00:00 PM 0 53 0.09 0.21v05:10:00 PM 0 60 0.04 0.10v05:20:01 PM 1 66 0.01 0.04v05:30:00 PM 3 84 0.13 0.14v05:40:00 PM 1 123 0.04 0.10v05:50:00 PM 3 115 0.00 0.03vAverage: 1 71 0.46 0.40 v输出结果中各

60、字段的含义为:vrunq-sz:等待运行的进程数。vplist-sz:进程列表中的进程数。vldavg-1:最近一分钟的系统负载。vldavg-5:最近五分钟的系统负载。v通过监测等待运行的进程数、系统负载等性能指标,可以了解系统运行的状态。如果runq-sz 值、plist-sz值和ldavg值比较大,则表明系统比较繁忙、负载较重。其直接后果,可能使系统的响应速度降低。v 使用sar监测系统监测CPU利用率,输出如下报告:v # sar -uLinux 2.4.21-4.EL (lizard) 2006年02月21日00时00分00? CPU %user %nice %system %idl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论