使用LoadRunner监控Linux系统性能
- 格式:doc
- 大小:540.50 KB
- 文档页数:12
Linux系统性能监控案例
(仅供内部使用)
修订记录
目录
1 案例描述 (2)
2 案例分析 (2)
3 解决过程 (2)
4 解决结果 (2)
5 总结 (2)
关键词:
Linux Loadrunner 性能监控sar
摘要:
主要介绍压力测试,性能测试时候,使用Loadrunner测试工具对Linux系统下的一些性能参数进行监控,再配合使用SAR监控内存。
提供两种性能监控解决方案。
案例描述
在进行KDVP2.0性能测试时候,需要收集一些Linux系统下的性能数据,比如CPU%,MEM%。
测试初期,使用的是top命令记录数值。
但是 top,free,htop等这些命令不能完全的满足我们性能数据要求。
而Linux又不像Windows自带性能计数器。
于是便想到的是借助自动化测试工具,比如通过使用Loadrunner进行远程性能监控。
1 解决过程 Loadrunner监控
首先先简单介绍下loarunner这款工具的组成:
Loadrunner提供了三大主要模块。
这三个模块也可以作为独立的工具分别完成各自的功能:
1.Virtual User Generator——用于录制脚本。
2.Mercury LoadRunner Controller——用于创建,运行和监控场景。
3.Mercury LoadRunner Analysis-——用于分析测试结果。
单单做性能监控的话,只需要使用到Loadrunner底下Controller这个模块。
辅以Analysis分析。
通过Controller模块,能够监控Linux系统,windows系统和SQL服务器。
但是Loadrunner本身不能直接监控Linux系统,需要在Linux系统底下安装一个rpc.rstat 服务。
rstatd Rstat协议允许网络上的用户获得同一网络上各机器的性能参数。
以下用安装包版本为rpc.rstatd-4.0.1.tar.gz为例子进行说明。
安装过程
首先通过SSH将rpc上传到要监控的Linux系统低下任意路径和附权限。
1.tar zxvf rpc.rstatd-4.0.1.tar.gz //解压rcp.rstatd
2.cd rpc.rstatd-4.0.1 //进入到rpc.rstatd目录中
3../configure //配置rc.rstatd的安装
4.make //编译rc.rstatd
5.make install //安装
启动服务./rpc.rstatd
查看是否真正启动该服务rpcinfo –p
成功启动进程如图所示
以上性能监控前的准备工作便基本完成了。
PS:在这次测试中,Loadrunner有遇到过无法监控到服务器数据的问题。
附上一些查找解决的办法
1.首先就是查看进程是否启动了。
由于是在测试环境,服务器经常需要重启,所以这是能
够最先排查掉的。
也可以设置进程开机启动。
2.然后就是查看关闭防火墙否. [root@localhost ~]# /etc/init.d/iptables stop;
3.最后还是不行的话,重新启动xinetd。
保证xinetd和rpc.rstatd这个两个都启动了。
性能监控
1.在LoadRunner Controller的run界面中,双击添加System Resource Graphs下的Unix Resource
双击添加Unix Resource
2.在Unix Resource图上右键,选中Add Measurements
3.然后点击Add,填写监控的机器地址如172.16.236.21,一开始默认的只有三个计数器指标,也可以在下面的Add中添加其他计数器
点击Add,添加需要
监控的机器IP地址
一开始默认的只有这三个
计数器,可以在Add中添
加新计数器
单击OK后,就能在Unix Resource中看到生成的性能监控图像了。
4.可以记录下Max,Min,Avg数据,添加需要监控的计数器
性能计数器分析
1.三个默认的计数器含义
1.1 Average load:上一分钟同时处于“就绪”状态的平均进程数,数值最好小于 CPU个数 * 核心数 * 0.7。
如果等于,那就是说CPU正好满负载,再多一点,可能就要出问题了,有任务不能被及时分配处理器。
1.2 CPU utilization:CPU 的使用时间百分比。
如果该值持续超过95%,表明瓶颈是CPU
那也许该增加一个处理器或换一个更快的处理器,如果服务器专用与SQL Server,可接受的最大上限是80-85%。
合理使用范围应该在60%-70%,最好不要超过75%。
1.3 Paging rate :每秒钟读入物理内存或写入页面文件的页数,如果该数值偶尔走高,表明当时有线程竞争内存。
如果持续很高,则内存可能是瓶颈,也有可能是内存访问命中率底。
2.计数器
数据如何查看
用MPC服务器上采集到的数据说明
Scale值就是数据显示的比例,
比如CPU使用时间百分比最大值就是0.042*100=4.2 ,结合图中的Y轴看,就是4.2%。
使用SAR监控内存使用情况
在测试过程中,还需要监控到内存的使用情况。
但是在Loadrunner采集的数据中,内存的直接使用情况是没有的。
于是又引用到了另一款性能监控软件 sar 。
通过设置采样数据间隔,来达到监控使用内存情况的目的。
在Linux下安装sar后,通过命令
sar -n DEV -u -r 10 3600 > tui.log
10秒间隔采样一次数据,采集3600次,保存进tui.log文件,-n DEV表示采集网络信息,-u CPU信息,-r 内存信息
打印出的文件内容如下
以上,测试需要监控到的数据就基本囊括在内了
2 解决结果
通过Loadrunner,sar这两款工具,基本满足了Linux系统性能测试的要求。
3 总结
工具终究只是工具,性能测试还是在与分析数据,这个案例只是提供了2个方法来帮助你在性能测试时能够更好的监控到你需要的数据。
收集到数据后,具体问题还是需要具体分析。
我个人的理解是,服务器硬件方面的瓶颈>网络瓶颈(此次测试只是在内网进行,所以不需要考虑)>服务器操作系统,比如说一些参数设置>应用瓶颈。
工具并不是万能的,采集到的数据需要结合实际情况,进行综合的分析,才能得出想要的结论的。
(注:素材和资料部分来自网络,供参考。
请预览后才下载,期待你的好评与关注!)。