一、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的配置信息。使用命令rup 10.130.61.203,此处10.130.61.203是要监视的linux/Unix服务器的Ip,如果该命令返回相关的统计信息。则表示已经配置并且激活了rstatd守护进程;若未返回有意义的统计信息,或者出现一条错误报告,则表示rstatd守护进程尚未被配置或有问题。

(2)使用find命令

#find / -name rpc.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 -xzvf  rpc.rstatd.tar.gz             ---解压rcp.rstatd

3、chmod 777 rpc.rstatd                            ---改变该文件读写的权限,拥有所有权限。

4、cd  rpc.rstatd                             ---进入到rpc.rstatd目录中

5、./configure                                          ---配置rc.rstatd的安装,我是按照默认方式

6、make                                           ---/编译rc.rstatd

7、make install                                  ---安装

3、启动rpc.rstatd服务

执行:rpc.rstatd命令,启动rpc.rstatd服务。

执行:rpcinfo –p 命令,检查rpc服务的状态。

如回显结果为下文,则说明rpc.rstatd服务启动成功,可以用LR去监视了。

[root@localhost ~]# rpcinfo -p

程序 版本 协议   端口

100000    2   tcp    111  portmapper

100000    2   udp    111  portmapper

100024    1   udp    614  status

100024    1   tcp    617  status

100001    5   udp    945  rstatd

100001    3   udp    945  rstatd

100001    2   udp    945  rstatd

100001    1   udp    945  rstatd

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: service xinetd reload

B: service xinetd rstart

5、几点小技巧:
(1)检查是否启动: rsh server 监听的TCP 514
[root@mg04 root]# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到514在监听说明rsh服务器已经启动。

(2)检查是否启动: rstatd
输入命令: rpcinfo -p
如果能看到类似如下信息:
程序 版本 协议 端口
100001 5 udp 937 rstatd
100001 4 udp 937 rstatd
100001 3 udp 937 rstatd
100001 2 udp 937 rstatd
100001 1 udp 937 rstatd
那就说明rstatd服务启动了,(当然这里也可以用ps ax代替)

(3)重起xinetd方法:
在suse linux如下操作:
cd /etc/init.d/
./xinetd restart
看到网上有的地方说使用如下命令:
# service xinetd reload
# /sbin/service xinetd rstart
不知道是在什么系统用的。

(4)安装rsh,和rsh-server两个服务包方法
a. 卸载rsh
# rpm –q rsh----------查看版本号
# rpm -e 版本号---------卸载该版本。
b.安装
# rpm –ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm

(5)在启动rpc.rstatd时,会报错“Cannot register service: RPC: Unable to receive; errno = Ction refused”
解决方法如下:
# /etc/init.d ./portmap start
# /etc/init.d ./nfs start
然后再次启动rpc.rstatd就好了。

注:

1、Rstatd文件在FTP服务器上有,资源地址:ftp://192.168.51.233/01测试工具/HP Mercury Interctive/LoadRunner/资源监控配置及所用的包/linux监控包/

2、rstatd Rstat协议允许网络上的用户获得同一网络上各机器的性能参数。

 

(二) LoadRunner获取Linux性能计数器

1、启动LoadRunner并监控Linux系统资源:

在controller中,将System resource Graphs中的Unix resources拖到右侧的监控区域中,并单击鼠标右键选择“Add Measurements”,在弹出的对话框中输入被监控的linux系统的IP地址,然后选择需要监控的性能指标(指标简介见下文),并点击“确定”。

此时可能会出现如下错误:

上图说明RPC服务没有成功启动。

解决办法:见前文“(一)、准备工作”

上图说明是Linux系统中的防火墙开启了并且阻挡了LoadRunner监控Linux系统的资源。

解决办法:关闭防火墙: [root@localhost ~]# /etc/init.d/iptables stop;

监控成功之后如下图所示:

2、常用计数器说明

1)、CPU指标

Average load

  上一分钟同时处于“就绪”状态的平均进程数,这个数值除以CPU个数应该小于2,如果长期是2证明有排队的

CPU utilization

  CPU 的使用时间百分比,如果在75%以上,则可以考虑换CPU了

Swap-in rate

  正在交换的进程数

Swap-out rate

  正在交换的进程数

Context switches rate

  每秒钟在进程或线程之间的切换次数

System mode CPU utilization

  在系统模式下使用 CPU 的时间百分比

User mode CPU utilization

  在用户模式下使用 CPU 的时间百分比

Interrupt rate

  每秒内的设备中断数

2)、内存

Page-in rate

  每秒钟读入到物理内存中的页数

Page-out rate

  每秒钟写入页面文件和从物理内存中删除的页数

Paging rate

  每秒钟读入物理内存或写入页面文件的页数,如果持续在几百,可能要加大内存了

3)、磁盘

Collision rate

  每秒钟在以太网上检测到的冲突数

Disk rate

  磁盘传输速率

4)、网络

Incoming packets error rate

  接收以太网数据包时每秒钟接收到的错误数

Incoming packets rate

  每秒钟传入的以太网数据包数

Outgoing packets errors rate

  发送以太网数据包时每秒钟发送的错误数

Outgoing packets rate

  每秒钟传出的以太网数据包数

 

二、LoadRunner监控Windows资源

(一)、Windows开启LR监控的配置信息:

步骤1.控制面板》管理工具》服务,开启以下服务:Remote Procedure Call(RPC) 、Remote Registry Service、Network DDE。

步骤2.被监视的WINDOWS机器:右击我的电脑,选择管理->共享文件夹->共享 在这里面要有C$这个共享文件夹(要是没有自己手动加)。

步骤3.保证被监控的服务器,能用管理员登录(LR要连接WINDOWS机器进行监视,要有管理员帐号和密码)。被监视的WINDOWS机器上管理工具 -> 本地安全策略 -> 安全选项 -> 网络访问:本地帐户的共享和安全模式,把访问方式改为“经典”模式,这样就可以以administrator的身份登陆了。

步骤4.装LR的机器上使用运行,输入 \\被监视机器IP\C$ ,输入管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使用LR去连接了。如果不能共享,可能Server服务没有启动,请先启动此服务。

步骤5.在Controller找到Windows Resource计数器,右键"Add Measrements…"添加要监控的主机地址,点击"Add"后配置你的监控机,选择需要的监控指标。

监控成功之后如下图所示:

(二)、一些重要的性能计数器

1、性能计数器大类选择

Process object下的所有计数器。

Process or object下的所有计数器

System object下的所有计数器

Memory object下的所有计数器

2、性能计数器详细说明

分析性能日志的时候,我会重点观察下面这些计数器

 (1)Process object

该计数器可以针对目标进程分析内存,CPU,线程数目和handle数目。首先要确定目标进程,然后分析目标进程的下面一些计数器:

% Processor Time

该计数器是该进程占用CPU资源的指标。当进程繁忙的时候,CPU平均占用率应该在80%以内。如果超过该数值,程序可以认为发生了high CPU的问题。另外一种问题是CPU波动幅度大。虽然平均占用率不高,但是上下跳动频繁。在某一个短时间段里面,会有连续高CPU的情况出现。

Handle Count

该计数器记录了当前进程使用的kernel object handle数量。Kernel object是重要的系统资源。当程序进入稳定运行状态的时候,Handle Count数量也应该维持在一个稳定的区间。如果发现Handle Count在整个程序周期内总体趋势是连续向上,可以考虑程序是否有Handle Leak。

ID Process

该计数器记录了目标进程的进程ID。你可能觉得奇怪,ID有什么好观察的。进程ID是用来观察程序是否有重启发生。比如ASP.NET工作进程可能会自动回收。由于进程名都相同,只有通过进程ID来判断是否进程有重新启动现象。如果ID有变化,考虑程序是否发生崩溃或者Recycle。

Private Bytes

该计数器记录了当前通过VirtualAlloc API Commit的Memory数量。无论是直接调用API申请的内存,被Heap Manager申请的内存,或者是CLR 的managed heap(托管堆),都算在里面。跟Handle Count一样,如果在整个程序周期内总体趋势是连续向上,说明有Memory Leak(内存泄漏)。

指这个处理不能与其他处理共享的、已分配的当前字节数。

Virtual Bytes

指处理使用的虚拟地址空间的以字节数显示的当前大小。使用虚拟地址空间不一定是指对磁盘或主内存页的相应的使用。虚拟空间是有限的,可能会限制处理加载数据库的能力。该计数器记录了当前进程申请成功的用户动态总内存地址,包括DLL/EXE占用的地址和通过VirtualAlloc API Reserve的Memory Space数量,所以该计数器应该总大于Private Bytes。一般来说,Virtual Bytes跟Private Bytes的变化大致一致。由于内存分片的存在, Virtual Bytes跟Private Byes一般保持一个相对稳定的比例关系。当Virtual Bytes跟Private Bytes的比例关系大于2的时候(可通过windown/LR的监控窗口获取比例),程序往往有比较严重的内存地址分片(内存地址分片概念说不清,清楚后补充)。

(2)Processor object

该计数器记录系统中芯片的负载情况。由于普通程序并不刻意绑定到某个具体CPU上执行,所以在多CPU机器上观察Total Instance也就足够了。

% Processor Time

该计数器跟Process下的% Processor Time的意义一样,不过这里记录的是所有进程线程使用处理器执行指令所花的时间百分比,而不是针对具体某一个进程。通过把这个计数器跟Process下的同名计数器一起比较,就能看出系统的高CPU问题是否是由于单一的某个进程导致的。

(3)System

System object

该计数器记录系统中一个整体的统计信息。所以不区分Instance. 通过比较System object下的counter和其他counter的变化趋势,往往能看出一些线索。

Context Switch/sec

Context Switch标示了系统中整体线程的调度,切换频率。线程切换是开销比较大的操作。频繁的线程切换导大量CPU周期被浪费。所以看到高CPU的时候,一定要跟Context Switch一起比较。如果两者有相同的变化趋势,高CPU往往是由于contention导致的,而不是死循环。

Exception Dispatches/sec

Exception Dispatches表示了系统中异常派发,处理的频繁程序。跟线程切换一样,异常处理也需要大量的CPU开销。分析方法跟Context Switch雷同。

File Data Operations/sec

File Data Operations记录了当前系统中磁盘文件读写的频繁程度。通过观察该计数器跟其他性能指标的变化趋势,通常能够判断磁盘文件操作是否是性能瓶颈。类似的计数器还有Network Interface\Bytes total/sec。

 

(4)Memory

Memory object记录了当前系统中整体内存的统计信息。

Available Mbytes

该计数器是指物理内存的可用数,物理内存的可用数是指计算机上可用于运行处理的有效物理内存的字节 数量.这个计数器只显示上一次观察到的值;它不是一个平均值.至少要有10%的物理内存值,如果available 至少要有10%的物理内存值,如果available Mbytes值一直很小(4M或更小),说明计算机 Mbytes值一直很小(4M或更小),说明计算机总的内存可能不足,或某程序没有释放内存。

Committed Bytes

以字节表示的确认虚拟内存。确认内存磁盘页面文件上保留了空间的物理内存。每个物理磁盘上可以有一个或一个以上的页面文件。这个计数器只显示上一回观察到的值;它不是一个平均值。

Available Mbytes

Available Mbytes记录了当前剩余的物理内存数量。Committed Bytes记录了所有进程commit的内存数量。

结合以上两个计数器可以观察到:

1) 两者相加可以粗略估计系统总体可用内存多少,便于估计物理配置。

2) 当Available Mbytes少于100MB的时候,说明系统总体内存吃紧,会影响到整个系统所有进程的性能。应该考虑增加物理内存或者监察内存泄露。

3) 通过比较Process\Private Bytes跟Virtual Bytes,便于进一步确认是否有内存泄露,判断内存泄露是否是某一单个进程导致。

Free System Page Table Entries,Pool Paged Bytes和Pool Paged Bytes

这三个计数器可以衡量核心态空闲内存的数量。特别是当使用/3GB开关后,核心态内存地址被压缩,容易导致核心态内存不足,继而引发一些非常怪的问题。

LoadRunner监控Unix、Windows方法及常用性能指标的更多相关文章

  1. LoadRunner监控Linux与Windows方法

    1.首先保证被监视的windows系统开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service: 2.被监视的WINDOWS机器:右击我的 ...

  2. LoadRunner监控Linux条件和解决方法

    注:内容来自网络 需要下载3个包: (1)rsh-0.17-14.i386.rpm (2)rsh-server-0.17-14.i386.rpm (3)rpc.rstatd-4.0.1.tar.gz ...

  3. LoadRunner监控Window/Unix系统资源的配置

    LoadRunner监控Window/Unix系统资源需要做两件事情: 1.配置被监视的服务器,以便于LoadRunner能够获取系统资源使用情况的数据 2.在LoadRunner的Controlle ...

  4. LoadRunner监控Linux配置教程

    LoadRunner监控Linux资源时弹出如下错误: Monitor name :UNIX Resources. Cannot initialize the monitoring on 192.16 ...

  5. LoadRunner监控Linux

    rstat协议允许网络上的用户获得同一网络上各机器的性能参数. 需要下载3个包:    (1)rsh-0.17-14.i386.rpm     (2)rsh-server-0.17-14.i386.r ...

  6. LoadRunner监控Linux资源

    一.LoadRunner监控Linux资源 (一).准备工作 首先,监视Linux一定要有rstatd这个守护进程,有的Linux版本里也有可能是rpc.rstatd这里只是名字不同而已,功能是一样的 ...

  7. Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios,运用Ntop监控网络流量

    Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量 ...

  8. 学习linux/unix编程方法的建议(转)

    假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...

  9. LoadRunner监控数据库服务器

    使用LoadRunner的数据库服务器资源监控器,可以在场景或会话步骤运行期间监控DB2.Oracle.SQL Server或Sybase数据库的资源使用率.在场景或会话步骤运行期间,使用这些监控器可 ...

随机推荐

  1. 1077. [NOIP2010冲刺六] 数列游戏

    [题目描述] 小M很喜欢找点游戏自娱自乐.有一天,她在纸上写了一串数字:1,1,2,5,4.接着她擦掉了一个1,结果发现剩下1,2,4都在自己所在的位置上,即1在第1位,2在第2位,4在第4位.她希望 ...

  2. Python字符串连接方式

    python中有很多字符串连接方式,总结一下: 1 最原始的字符串连接方式:str1 + str22 python 新字符串连接语法:str1, str23 奇怪的字符串方式:str1 str24 % ...

  3. 正则匹配 sql语句参数

    List<string> listcommand = new List<string>(); string sql = "update BMDMB set bmdmb ...

  4. Xcode最最实用快捷键

      转发:http://www.open-open.com/lib/view/open1397988745593.html 关于与mac 通用的快捷键网上太多,就不说了,下面介绍一些大家不是很熟悉但是 ...

  5. Android中的shape

    在Android程序开发中,我们经常会去用到Shape这个东西去定义各种各样的形状,shape可以绘制矩形环形以及椭圆,所以只需要用椭圆即可,在使用的时候将控件比如imageview或textview ...

  6. jquery各版本区别

     jquery版本区别:          1.3一般功能够 1.4.2一般功能够而且稳定 1.7+比较新特性 2不支持老IE 兼容的话最好选 1.x.稳定性就用1.7或者1.4,其中1.4的体积相对 ...

  7. android常用工具类

    import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkIn ...

  8. android通过代码判断手机是否root

    只要/system/bin/su./system/xbin/su这两个文件中有一个存在,就表明已经具有ROOT权限,如果两个都不存在,则不具有ROOT权限. // 判断是否具有ROOT权限 publi ...

  9. H5的新应用-指定视频的播放进度

    <!DOCTYPE html> <html> <head> <title>指定视频的播放进度</title> <meta http-e ...

  10. nefu 449 超级楼梯 &&nefu 911 跨楼梯

    nefu 449 超级楼梯 Description 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input 输入数据首先包含一个整数N,表示测试实例的 ...