关于nmon报告的分析
本帖最后由 ytcaicai 于 2012-4-17 10:35 编辑最近对在做性能测试,收集了一部分结果(自己也试着去分析,但分析的不知道是否正确),所以希望能听到大家的分析点评,附件是我的nmon测试结果和analyser的结果。大家有兴趣的可以看看。 where is 附件? 从NMON文件看,CPU、内存消耗太大了
CPU已经80%时间处于100%状态,基本是瓶颈了,或者程序处理不能。
内存与CPU消耗情况相同。
从lra文件看,search事件 90 Percent 7.127s,500并发应该差不多。看测试需求吧。
综上:服务器硬件是瓶颈。
个人观点,未必准确。 首先,谢谢楼上的分析。 本帖最后由 ytcaicai 于 2012-4-17 12:51 编辑
在补几点说明:
一、关于超时的问题
1、100个用户时,最大在线用户数也是98,报错:
Action.c(212): Error : save param parameter is invalid. Error code : 9005.
2、300个用户时,最大在线用户数是163,报错:
Action.c(212): Error : save param parameter is invalid. Error code : 9005.
vuser_init.c(13): Error : Timeout expired while trying to connect. Error code : 9017.
3、500个用户时,最大在线用户数也是163,报错:
Action.c(212): Error : save param parameter is invalid. Error code : 9005.
vuser_init.c(13): Error : Timeout expired while trying to connect. Error code : 9017.
Action.c(8): Error : socket0 - Connection reset by peer. Error code : 10054.
其中,300和500个用户时,有个现象,场景才开始运行时,就一直报 超时的(9017)的错,没有PASS的事物,根本就没有RUN起来,直接从就绪状态到FAILED,但是FAILED一定数目的用户后,下面的运行比较正常,
而100个用户时没有这种现象。
二、关于持续运行时间的问题
明明设置了运行时间是30分钟,但是,实际相差太大,实际运行的时间只有几分钟,这可能是什么原因导致没有持续运行设定的时间长度? 回复 1# ytcaicai
分析
1、nmon分析查看
1)CPU: 16个CPU使用率都超过了95%以上,这个值说明你的CPU已经达到极限值,分析点:那个功能引起耗费CPU资源,哪个部分耗费时间比较长,建议将系统的日志打印出来,进一步分析,进而定位到代码或是函数级别
2)mem
cached+memfree+buffers >7G 内存应该没有问题
2、loadrunner oracle分析
1)SQL语句:
查询出比较耗费资源的SQL语句
2)监控日志中 openedcursors current
打开的游标平均值在 1641 ,这值是不是过大了,过大了说明你的SQL语句可能执行过慢的。游标一直没有得到释放。
3)oracle 表索引
检索的功能,查询的表基本上是固定的,查看一下索引是否合理的。
4)表数据量大小
建议你分析一下oracle现在表的数据量是否过大,最好的数据是依据线上的数据库的数据量分析 :),非常感谢热心的朋友们!
页:
[1]