LoadRunner监控UnixWindows方法及常用性能指标.docx
- 文档编号:8636080
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:11
- 大小:226.42KB
LoadRunner监控UnixWindows方法及常用性能指标.docx
《LoadRunner监控UnixWindows方法及常用性能指标.docx》由会员分享,可在线阅读,更多相关《LoadRunner监控UnixWindows方法及常用性能指标.docx(11页珍藏版)》请在冰豆网上搜索。
LoadRunner监控UnixWindows方法及常用性能指标
目录
一、LoadRunner监控Linux资源3
(一)、准备工作3
1、可以通过两种方法验证服务器上是否配置了rstatd守护程序:
3
(2)使用find命令3
2、安装rpc.rstatd服务3
3、启动rpc.rstatd服务3
4、设置rpc.rstatd服务自动启动4
5、几点小技巧:
4
(二)LoadRunner获取Linux性能计数器6
1、启动LoadRunner并监控Linux系统资源:
6
2、常用计数器说明7
二、LoadRunner监控Windows资源8
(一)、Windows开启LR监控的配置信息:
8
步骤1.8
步骤2.8
步骤3.8
步骤4.8
步骤5.8
(二)、一些重要的性能计数器9
1、性能计数器大类选择9
2、性能计数器详细说明9
LoadRunner监控操作系统
一、LoadRunner监控Linux资源
(一)、准备工作
首先,监视Linux一定要有rstatd这个守护进程,有的Linux版本里也有可能是rpc.rstatd这里只是名字不同而已,功能是一样的.
1、可以通过两种方法验证服务器上是否配置了rstatd守护程序:
(1)使用rup命令
它用于报告计算机的各种统计信息,其中就包括rstatd的配置信息。
使用命令rup10.130.61.203,此处10.130.61.203是要监视的linux/Unix服务器的Ip,如果该命令返回相关的统计信息。
则表示已经配置并且激活了rstatd守护进程;若未返回有意义的统计信息,或者出现一条错误报告,则表示rstatd守护进程尚未被配置或有问题。
(2)使用find命令
#find/-namerpc.rstatd,该命令用于查找系统中是否存在rpc.rstatd文件,如果没有,说明系统没有安装rstatd守护程序。
如果服务器上没有安装rstatd程序(一般来说LINUX都没有安装),需要下载一个包才有这个服务,包名字是rpc.rstatd-4.0.1.tar.gz.这是一个源码,需要编译,下载并安装rstatd
2、安装rpc.rstatd服务
如系统未安装rpc.rstatd服务,刚需要进行安装,附安装步骤如下:
1、下载并安装rstatd---证券测试室FTP服务器上有(LR目录下)
2、tar-xzvfrpc.rstatd.tar.gz---解压rcp.rstatd
3、chmod777rpc.rstatd---改变该文件读写的权限,拥有所有权限。
4、cdrpc.rstatd---进入到rpc.rstatd目录中
5、./configure---配置rc.rstatd的安装,我是按照默认方式
6、make---/编译rc.rstatd
7、makeinstall---安装
3、启动rpc.rstatd服务
执行:
rpc.rstatd命令,启动rpc.rstatd服务。
执行:
rpcinfo–p命令,检查rpc服务的状态。
如回显结果为下文,则说明rpc.rstatd服务启动成功,可以用LR去监视了。
[root@localhost~]#rpcinfo-p
程序版本协议端口
1000002tcp111portmapper
1000002udp111portmapper
1000241udp614status
1000241tcp617status
1000015udp945rstatd
1000013udp945rstatd
1000012udp945rstatd
1000011udp945rstatd
4、设置rpc.rstatd服务自动启动
如果需要将rpc.rstatd服务设置成自动启动(开机启动),则需要修改/etc/xinetd.d/下的三个配置文件rlogin,rsh,rexec,使用VI命令打开这三个文件并将其中的disable=yes都改成disable=no(disabled用在默认的{}中禁止服务),或是把#default:
off都设置成on。
这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!
(如果执行后出现出现乱码,在vim/etc/sysconfig/i18n下更改LANG=
zh_CN.UTF-8为LANG="en_US.UTF-8"即可。
)
A:
servicexinetdreload
B:
servicexinetdrstart
5、几点小技巧:
(1)检查是否启动:
rshserver监听的TCP是514
[root@mg04root]#netstat-an|grep514
tcp000.0.0.0:
5140.0.0.0:
*LISTEN
如果能看到514在监听说明rsh服务器已经启动。
(2)检查是否启动:
rstatd
输入命令:
rpcinfo-p
如果能看到类似如下信息:
程序版本协议端口
1000015udp937rstatd
1000014udp937rstatd
1000013udp937rstatd
1000012udp937rstatd
1000011udp937rstatd
那就说明rstatd服务启动了,(当然这里也可以用psax代替)
(3)重起xinetd方法:
在suselinux如下操作:
cd/etc/init.d/
./xinetdrestart
看到网上有的地方说使用如下命令:
#servicexinetdreload
#/sbin/servicexinetdrstart
不知道是在什么系统用的。
(4)安装rsh,和rsh-server两个服务包方法
a.卸载rsh
#rpm–qrsh----------查看版本号
#rpm-e版本号---------卸载该版本。
b.安装
#rpm–ivhrsh-0.17-14.i386.rpmrsh-server-0.17-14.i386.rpm
(5)在启动rpc.rstatd时,会报错“Cannotregisterservice:
RPC:
Unabletoreceive;errno=Ctionrefused”。
解决方法如下:
#/etc/init.d./portmapstart
#/etc/init.d./nfsstart
然后再次启动rpc.rstatd就好了。
注:
1、Rstatd文件在FTP服务器上有,资源地址:
ftp:
//192.168.51.233/01测试工具/HPMercuryInterctive/LoadRunner/资源监控配置及所用的包/linux监控包/
2、rstatdRstat协议允许网络上的用户获得同一网络上各机器的性能参数。
(二)LoadRunner获取Linux性能计数器
1、启动LoadRunner并监控Linux系统资源:
在controller中,将SystemresourceGraphs中的Unixresources拖到右侧的监控区域中,并单击鼠标右键选择“AddMeasurements”,在弹出的对话框中输入被监控的linux系统的IP地址,然后选择需要监控的性能指标(指标简介见下文),并点击“确定”。
此时可能会出现如下错误:
上图说明RPC服务没有成功启动。
解决办法:
见前文“
(一)、准备工作”
上图说明是Linux系统中的防火墙开启了并且阻挡了LoadRunner监控Linux系统的资源。
解决办法:
关闭防火墙:
[root@localhost~]#/etc/init.d/iptablesstop;
监控成功之后如下图所示:
2、常用计数器说明
(1)、CPU指标
Averageload
上一分钟同时处于“就绪”状态的平均进程数,这个数值除以CPU个数应该小于2,如果长期是2证明有排队的
CPUutilization
CPU的使用时间百分比,如果在75%以上,则可以考虑换CPU了
Swap-inrate
正在交换的进程数
Swap-outrate
正在交换的进程数
Contextswitchesrate
每秒钟在进程或线程之间的切换次数
SystemmodeCPUutilization
在系统模式下使用CPU的时间百分比
UsermodeCPUutilization
在用户模式下使用CPU的时间百分比
Interruptrate
每秒内的设备中断数
(2)、内存
Page-inrate
每秒钟读入到物理内存中的页数
Page-outrate
每秒钟写入页面文件和从物理内存中删除的页数
Pagingrate
每秒钟读入物理内存或写入页面文件的页数,如果持续在几百,可能要加大内存了
(3)、磁盘
Collisionrate
每秒钟在以太网上检测到的冲突数
Diskrate
磁盘传输速率
(4)、网络
Incomingpacketserrorrate
接收以太网数据包时每秒钟接收到的错误数
Incomingpacketsrate
每秒钟传入的以太网数据包数
Outgoingpacketserrorsrate
发送以太网数据包时每秒钟发送的错误数
Outgoingpacketsrate
每秒钟传出的以太网数据包数
二、LoadRunner监控Windows资源
(一)、Windows开启LR监控的配置信息:
步骤1.控制面板》管理工具》服务,开启以下服务:
RemoteProcedureCall(RPC)、RemoteRegistryService、NetworkDDE。
步骤2.被监视的WINDOWS机器:
右击我的电脑,选择管理->共享文件夹->共享在这里面要有C$这个共享文件夹(要是没有自己手动加)。
步骤3.保证被监控的服务器,能用管理员登录(LR要连接WINDOWS机器进行监视,要有管理员帐号和密码)。
被监视的WINDOWS机器上管理工具->本地安全策略->安全选项->网络访问:
本地帐户的共享和安全模式,把访问方式改为“经典”模式,这样就可以以administrator的身份登陆了。
步骤4.装LR的机器上使用运行,输入\\被监视机器IP\C$,输入管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使用LR去连接了。
如果不能共享,可能Server服务没有启动,请先启动此服务。
步骤5.在Controller找到WindowsResource计数器,右键"AddMeasrements…"添加要监控的主机地址,点击"Add"后配置你的监控机,选择需要的监控指标。
监控成功之后如下图所示:
(二)、一些重要的性能计数器
1、性能计数器大类选择
Processobject下的所有计数器。
Processorobject下的所有计数器
Systemobject下的所有计数器
Memoryobject下的所有计数器
2、性能计数器详细说明
分析性能日志的时候,我会重点观察下面这些计数器
(1)、Processobject
该计数器可以针对目标进程分析内存,CPU,线程数目和handle数目。
首先要确定目标进程,然后分析目标进程的下面一些计数器:
%ProcessorTime
该计数器是该进程占用CPU资源的指标。
当进程繁忙的时候,CPU平均占用率应该在80%以内。
如果超过该数值,程序可以认为发生了highCPU的问题。
另外一种问题是CPU波动幅度大。
虽然平均占用率不高,但是上下跳动频繁。
在某一个短时间段里面,会有连续高CPU的情况出现。
HandleCount
该计数器记录了当前进程使用的kernelobjecthandle数量。
Kernelobject是重要的系统资源。
当程序进入稳定运行状态的时候,HandleCount数量也应该维持在一个稳定的区间。
如果发现HandleCount在整个程序周期内总体趋势是连续向上,可以考虑程序是否有HandleLeak。
IDProcess
该计数器记录了目标进程的进程ID。
你可能觉得奇怪,ID有什么好观察的。
进程ID是用来观察程序是否有重启发生。
比如ASP.NET工作进程可能会自动回收。
由于进程名都相同,只有通过进程ID来判断是否进程有重新启动现象。
如果ID有变化,考虑程序是否发生崩溃或者Recycle。
PrivateBytes
该计数器记录了当前通过VirtualAllocAPICommit的Memory数量。
无论是直接调用API申请的内存,被HeapManager申请的内存,或者是CLR的managedheap(托管堆),都算在里面。
跟HandleCount一样,如果在整个程序周期内总体趋势是连续向上,说明有MemoryLeak(内存泄漏)。
指这个处理不能与其他处理共享的、已分配的当前字节数。
VirtualBytes
指处理使用的虚拟地址空间的以字节数显示的当前大小。
使用虚拟地址空间不一定是指对磁盘或主内存页的相应的使用。
虚拟空间是有限的,可能会限制处理加载数据库的能力。
该计数器记录了当前进程申请成功的用户动态总内存地址,包括DLL/EXE占用的地址和通过VirtualAllocAPIReserve的MemorySpace数量,所以该计数器应该总大于PrivateBytes。
一般来说,VirtualBytes跟PrivateBytes的变化大致一致。
由于内存分片的存在,VirtualBytes跟PrivateByes一般保持一个相对稳定的比例关系。
当VirtualBytes跟PrivateBytes的比例关系大于2的时候(可通过windown/LR的监控窗口获取比例),程序往往有比较严重的内存地址分片(内存地址分片概念说不清,清楚后补充)。
(2)、Processorobject
该计数器记录系统中芯片的负载情况。
由于普通程序并不刻意绑定到某个具体CPU上执行,所以在多CPU机器上观察TotalInstance也就足够了。
%ProcessorTime
该计数器跟Process下的%ProcessorTime的意义一样,不过这里记录的是所有进程线程使用处理器执行指令所花的时间百分比,而不是针对具体某一个进程。
通过把这个计数器跟Process下的同名计数器一起比较,就能看出系统的高CPU问题是否是由于单一的某个进程导致的。
(3)、System
Systemobject
该计数器记录系统中一个整体的统计信息。
所以不区分Instance.通过比较Systemobject下的counter和其他counter的变化趋势,往往能看出一些线索。
ContextSwitch/sec
ContextSwitch标示了系统中整体线程的调度,切换频率。
线程切换是开销比较大的操作。
频繁的线程切换导大量CPU周期被浪费。
所以看到高CPU的时候,一定要跟ContextSwitch一起比较。
如果两者有相同的变化趋势,高CPU往往是由于contention导致的,而不是死循环。
ExceptionDispatches/sec
ExceptionDispatches表示了系统中异常派发,处理的频繁程序。
跟线程切换一样,异常处理也需要大量的CPU开销。
分析方法跟ContextSwitch雷同。
FileDataOperations/sec
FileDataOperations记录了当前系统中磁盘文件读写的频繁程度。
通过观察该计数器跟其他性能指标的变化趋势,通常能够判断磁盘文件操作是否是性能瓶颈。
类似的计数器还有NetworkInterface\Bytestotal/sec。
(4)、Memory
Memoryobject记录了当前系统中整体内存的统计信息。
AvailableMbytes
该计数器是指物理内存的可用数,物理内存的可用数是指计算机上可用于运行处理的有效物理内存的字节数量.这个计数器只显示上一次观察到的值;它不是一个平均值.至少要有10%的物理内存值,如果available至少要有10%的物理内存值,如果availableMbytes值一直很小(4M或更小),说明计算机Mbytes值一直很小(4M或更小),说明计算机总的内存可能不足,或某程序没有释放内存。
CommittedBytes
以字节表示的确认虚拟内存。
确认内存磁盘页面文件上保留了空间的物理内存。
每个物理磁盘上可以有一个或一个以上的页面文件。
这个计数器只显示上一回观察到的值;它不是一个平均值。
AvailableMbytes
AvailableMbytes记录了当前剩余的物理内存数量。
CommittedBytes记录了所有进程commit的内存数量。
结合以上两个计数器可以观察到:
1)两者相加可以粗略估计系统总体可用内存多少,便于估计物理配置。
2)当AvailableMbytes少于100MB的时候,说明系统总体内存吃紧,会影响到整个系统所有进程的性能。
应该考虑增加物理内存或者监察内存泄露。
3)通过比较Process\PrivateBytes跟VirtualBytes,便于进一步确认是否有内存泄露,判断内存泄露是否是某一单个进程导致。
FreeSystemPageTableEntries,PoolPagedBytes和PoolPagedBytes
这三个计数器可以衡量核心态空闲内存的数量。
特别是当使用/3GB开关后,核心态内存地址被压缩,容易导致核心态内存不足,继而引发一些非常怪的问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoadRunner 监控 UnixWindows 方法 常用 性能指标
![提示](https://static.bdocx.com/images/bang_tan.gif)