一 windows
1 监视连接前的准备工作
首先保证被监视的windows系统开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service (这里具体在那里开起服务就不说了)
被监视的WINDOWS机器:右击我的电脑,选择管理->共享文件夹->共享 在这里面要有C$这个共享文件夹,(要是没有自己手动加)
然后保证在安装LR的机器上使用运行.输入\\被监视机器IP\C$ 然后输入管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使用LR去连接了,如果不能共享,可能Server服务没有启动,请先启动此服务。
说明: LR要连接WINDOWS机器进行监视貌似要有管理员帐号和密码才行。
在使用性能计数器中遇到的问题,如添加了Windows Resources 计数器后, 却看不到实时的数据。
报错:
Windows Resources. Cannot connect to machine x.x.x.x(IP)
Reason: Access is denied.
需要开启Network DDE,Remote Registry服务,而且是以administrator身份登录。
开始-->运行-->\\192.168.94.71\c$,正常应该是输入管理员帐号和密码,而我这边用户名输入框是灰色的,并且默认用户是guest。
这就需要到被监视的WINDOWS机器上管理工具 -> 本地安全策略 -> 安全选项 -> 网络访问:本地帐户的共享和安全模式,把访问方式改为“经典”模式,这样就可以以administrator的身份登陆了。
然后添加Windows Resources 计数器,如下图选择“Add measurements”,添加服务器,实时的数据取到了。
2 用LR监视windows的步骤
(这里就不详细说明了,只要在窗口中右击鼠标选择Add Measurements就可以了)
二 linux
1 准备工作
首先,监视Linux一定要有rstatd这个守护进程,有的Linux版本里也有可能是rpc.rstatd这里只是名字不同而已,功能是一样的
一般来说LINUX需要下载一个包才有这个服务,包名字是rpc.rstatd-4.0.1.tar.gz. 这是一个源码,需要编译,
下载并安装rstatd
tar -ivh rpc.rstatd-4.0.1.tar.gz
./configure —配置
make —编译
make install —安装
rpc.rstatd —启动rstatd进程
配置rstatd 目标守护进程是xinetd,它的主配置文件是/etc/xinetd.conf 里面内容是
只有基本信息
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
里面内容的意思在这里就不说了!网上有具体解释,
我们这里需要修改的是/etc/xinetd.d/下的三个conf文件 rlogin ,rsh,rexec 这三个配置文件,
打这三个文件里的disable = yes都改成 disable = no ( disabled 用在默认的 {} 中 禁止服务)
或是把# default: off都设置成 on 这个的意思就是在xinetd启动的时候默认都启动上面的三个服务!
(由于貌似用ps ax不能看到rlogin ,rsh ,rexec这三个进程是否开启,所以使用default: on,因为rstatd和xinetd这二个服务是否启动在ps ax里是看的到的)
然后你在保证Linux机器上的进程里有rstatd和xinetd这二个服务就可以用LR去监视了
几点小的技巧:
检查是否启动: 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服务器已经启动。
检查是否启动: rstatd
输入命令: rpcinfo -p
如果能看到
程序 版本 协议 端口
*** **** udp 741 rstatd
那就说明rstatd服务启动了,(当然这里也可以用ps ax代替)
几点说明: 1) 在实际操作中有可能会碰到一些问题,这里还有一份网上的关于LR连接时候可能出错的情况,详细请见下面
2) 网上也有人说在LR的资源窗口中右击鼠标出现的Add Measurements选项是暗淡的,我操作的时候没碰到,这里可能是LR没有完全安装的原因.
3) 由于条件的限制,(没有UNIX环境)所以这次没有遇及UNIX的监控,但网上也有这方面的资料,说明的也比较清楚,在这里就不再重复了.
4) 由于本人能力有限,只是把网上的内容归纳了一下,说的不对的地方请高人指点,我会更新内容.
LoadRunner中服务器资源监控器疑难解答
要监控服务器计算机上的资源,必须能够连接到该计算机。如果监控失败,并且 LoadRunner 找不到指定的服务器,请确认指定的服务器是否可用。在 Controller 或优化控制台计算机命令行中键入 ping
验证可以访问该计算机后,请查看下表中有关监控器疑难解答的其他提示。
问题 | 解决方案 |
无法监控其他域中的 Windows 计算机,或者“访问被拒绝”。 | 要获得对远程计算机的管理权限,请在命令提示符下执行以下命令: %net use \\<计算机名>/用户:[<域>\<远程计算机名>] 提示输入密码时,输入远程计算机的密码。 |
无法监控 NT/Win 2000 计算机(发出一条错误消息:“未找到计算机名”或“无法连接到主机”) | 要监控的 NT/Win 2000 计算机仅允许具有管理员权限的用户进行监控。要允许非管理员用户进行监控,必须授予用户对特定文件和注册表项的读取权限(Microsoft 技术说明编号 Q158438)。需要执行下列步骤: a. 使用浏览器或文件管理器,授予用户对下列项的读取权限: %windir%\system32\PERFHxxx.DAT 其中 xxx 是系统的基本语言 ID, b. 使用 REGEDT32,授予用户对下列项的读取权限: c. 使用 REGEDT32,至少授予用户对下列项的读取权限: |
无法从 NT 计算机监控某些 Win 2000 计数器。 | 在 Win 2000 计算机上运行 Controller 或优化控制台。 |
某些 Windows 默认计数器生成错误 | 删除有问题的计数器,并使用“添加度量”对话框添加相应计数器。 |
无法从被监控的计算机上获得 SQL Server 6.5 版的性能计数器。 | 这是 SQL Server 6.5 版的一个错误。解决方法为:在被监控的计算机上使用 regedt32,授予用户对以下注册表项的读取权限: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer (Microsoft 技术说明编号 Q170394) |
选定度量未显示在图中。 | 确保已注册显示文件和 online.exe。要在不执行完全安装的情况下注册监控器的 dll,请运行 LoadRunner\bin 中的 set_mon.bat 批处理文件。 |
监控 Windows 计算机时,图中不显示任何度量。 | 检查内置的 Windows 性能监控器。如果该监控器不能正常工作,则可能是通信设置有问题。 |
监控 UNIX 计算机时,图中不显示任何度量。 | 确保 rstatd 正在 UNIX 计算机上运行(请参阅“系统资源监控”)。 |
无法监控下列 Web 服务器之一:MS IIS、MS ASP 或 ColdFusion | 请参阅上面的问题“无法监控 Windows 计算机”。 |
无法监控 WebLogic (JMX) 服务器 | 打开 |
如何在Loadrunner中监控服务器资源使用情况
如何在Loadrunner中监控服务器资源使用情况
一.监控需要进行的配置:
在LR控制台设置监控Windows服务器的资源比较容易,直接添加Measurements即可。
但是大多情况下面服务器的操作系统是Linux或者Unix,这时想监控系统的资源使用情况就需要进行一些设置:
1.由于LR是通过rpc.rstatd进程获得系统的性能数据,因此首先查看进程中是否存在该进程,或者能否通过运行./rpc.rstatd启动该进程,如果可以,恭喜你,你可以直接在LR的控制台添加
Measurements;否则需要下载rstatd.tar.gz,下载地址:
Download rstatd 4 Linux from SourceForge.net
2.安装rstatd
$ tar xvzf rstatd.tar.gz
$cd rpc.rstatd
$ ./configure --prefix=/usr
$ make
# sudo su
# make install
3. Add a line to the hosts.allow file within /etc/ to specify the subnet(s) allowed to make rstatd requests. For example:
rpc.rstatd: 10.0.95.0/255.255.255.0 10.0.8.0/255.255.255.0
Alternately, if you want to live dangerously:
rpc.rstatd: ALL
4. Add rstatd entry in /etc/xinetd.d/rstatd:
# default: off
# description: An xinetd internal service which rstatd&#39;s characters back to clients.
service rstatd
{
type = RPC
rpc_version = 2-4
socket_type = dgram
protocol = udp
wait = yes
user = root
only_from = 10.0.95.0/24
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/rpc.rstatd
disable = no
. }
5. Restart xinetd:
# /etc/rc.d/init.d/xinetd restart
补充的udp服务
rpc.rstatd
查看rpc服务进程
rpcinfo -p
理论上info为7个进程(前面共有两次start),如果各位有
兴趣可以自己使用rpcinfo来查看前后的服务对比。
关于之上的那段Shell程序,偶还灭有研究过。待研究过以后,在放上来与大家一起分享。
本帖后上传了两个中间文件分别为:
1)拷贝hosts.allow到Linux服务器:/etc/hosts.allow
2)拷贝rstatd到Linux服务器:/etc/xinetd.d/rstatd
二.系统指标:
1.Unix 系统指标含义:
Average Load:上一分钟同时处于“就绪”状态的平均进程数
Collision Rate: 每秒钟在以太网上检测到的冲突数
Context Switches Rate: 每秒钟在进程或线程之间的切换次数
CPU Utilization: CPU 的使用时间百分比
Disk Rate: 磁盘传输速率
Incoming Packages Error rate: 接收以太网数据包时每秒钟接收到的错误数
Incoming Packages Rate:每秒钟传入的以太网数据包数
Interrupt Rate: 每秒内的设备中断数
Outgoing Packages Error Rate: 发送以太网数据包时每秒钟发送的错误数
Outgoing Packages Rate:每秒钟传出的以太网数据包数
Page-in Rate:每秒钟读入到物理内存中的页数
Page-out Rate:每秒钟写入页面文件和从物理内存中删除的页数
Paging Rate:每秒钟读入物理内存或写入页面文件中的页数
Swap-in Rate: 正在交换的进程数
Swap-out Rate: 正在交换的进程数
System Mode CPU Utilization: 在系统模式下使用 CPU 的时间百分比
User Mode CPU Utilization:在用户模式下使用 CPU 的时间百分比
2.Windows 系统指标分析:
Memory:内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从 RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页交换使 Windows 2000 能够使用比实际更多的内存,也是可以接受的,但频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度。要监视内存不足的状况,请从以下的对象计数器开始:
Available Mbytes:可用物理内存数. 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。
page/sec: 表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。一般如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。
page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阈值为>5. 越低越好。大数值表示磁盘读而不是缓存读。
由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器:
Physical Disk\ % Disk Time
Physical Disk\ Avg.Disk Queue Length
例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。
要确定过多的页交换对磁盘活动的影响,请将 Physical Disk\ Avg.Disk sec/Transfer 和 Memory\ Pages/sec 计数器的值增大数倍。如果这些计数器的计数结果超过了 0.1,那么页交换将花费百分之十以上的磁盘访问时间。如果长时间发生这种情况,那么您可能需要更多的内存。
Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用。
Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0 运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化
如果您怀疑有内存泄露,请监视 Memory\ Available Bytes 和 Memory\ Committed Bytes,以观察内存行为,并监视您认为可能在泄露内存的进程的 Process\Private Bytes、Process\Working Set 和Process\Handle Count。如果您怀疑是内核模式进程导致了泄露,则还应该监视 Memory\Pool Nonpaged Bytes、Memory\ Pool Nonpaged Allocs 和 Process(process_name)\ Pool Nonpaged Bytes。
Pages per second :每秒钟检索的页数。该数字应少于每秒一页。
Process:
%Processor Time: 被处理器消耗的处理器时间数量。如果服务器专用于sql server,可接受的最大上限是80-85%
Page Faults/sec:将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响。
Work set: 处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。
Inetinfo:Private Bytes:此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。
Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助您决定是否存在瓶颈。
%Processor Time:如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。
%User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。
%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。
此外,跟踪计算机的服务器工作队列当前长度的 Server Work Queues\ Queue Length 计数器会显示出处理器瓶颈。队列长度持续大于 4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。
% DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。
Thread
ContextSwitches/sec: (实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。
Physical Disk:
%Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 2000 的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。
Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘
Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数。
Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。
Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间。
Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间。
Network Interface:
Bytes Total/sec :为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较