51Testing软件测试论坛
标题:
救命呀,系统瓶颈到底在哪里?
[打印本页]
作者:
wuliangye
时间:
2012-5-7 10:43
标题:
救命呀,系统瓶颈到底在哪里?
本帖最后由 wuliangye 于 2012-5-7 10:45 编辑
测试的性能分析图如下:[attach]78845[/attach]
[attach]78846[/attach]
[attach]78847[/attach]
[attach]78848[/attach]
[attach]78849[/attach]
[attach]78850[/attach]
[attach]78851[/attach]
[attach]78852[/attach]
从结果看,到20个并发用户时,系统的点击数,吞吐量以及UNIX的资源利用开始下降,但是怎么判断这个瓶颈到底在哪里?各位大侠,请帮忙!!
作者:
jj_ljw
时间:
2012-5-7 11:02
你的响应时间不大啊,最高才0.032s。网络吞吐是100M?
作者:
wuliangye
时间:
2012-5-7 11:04
是呀,响应时间很小,网络吞吐只有6~7M啊
作者:
edisonzhang
时间:
2012-5-7 11:14
你先查看 是什么占用这么高的CPU
vmstat top 看下
作者:
wuliangye
时间:
2012-5-7 11:23
CPU我看了下,随着并发数增加而增加,等到了20个左右的并发数后,就发现CPU由77%左右开始下降。
我想如果CPU是瓶颈的话,那么并发数增加后CPU应该一直居高不下,应该不会表现出下降的趋势吧?
作者:
jj_ljw
时间:
2012-5-7 11:48
测试软件的配置调高点,看看cpu能增大不
作者:
wuliangye
时间:
2012-5-7 12:13
TO edisonzhang, jj_ljw:你们都怀疑CPU是瓶颈是么?调高不行的,服务器不在我这边,vmstat top 我不会用,unix系统没用过主要,我要查下资料才行。
TO edisonzhang: 有没有其他的怀疑点?
作者:
云层
时间:
2012-5-7 12:32
看起来不是蛮正常的么
作者:
wuliangye
时间:
2012-5-7 13:14
云大侠,到20个并发用户时,系统的点击数,吞吐量以及UNIX的资源利用开始下降,我认为20个并发数已经是系统的极限了,那么
如何从这个结果中判断出系统瓶颈在哪里
。
之前做50个并发时的结果如下:
[attach]78865[/attach]
[attach]78866[/attach]
[attach]78868[/attach]
[attach]78869[/attach]
[attach]78867[/attach]
作者:
shotting
时间:
2012-5-7 13:48
20并发用户后点击数、thoughtput随着用户增长并没有增加而是持平和略降,证明20并发后系统出现了拒绝连接的情况。
作者:
wuliangye
时间:
2012-5-7 14:19
1. 系统没有限定多少个连接数,UNIX系统的连接数应该不会只有20个吧?
2. 如果是系统拒绝连接,怎么找出原因?
作者:
wuliangye
时间:
2012-5-7 14:31
还想问下,如果系统拒绝连接的话,LR客户端应该会有相应的错误日志提示吧?
作者:
云层
时间:
2012-5-7 14:35
云大侠,到20个并发用户时,系统的点击数,吞吐量以及UNIX的资源利用开始下降,我认为20个并发数已经是系统 ...
wuliangye 发表于 2012-5-7 13:14
你时间做长点,我个人觉得可能有资源泄漏。。。。如果一直这样下去最后处理能力消失,那么要么就是排队排死了,要么就是资源漏完了,你先看有啥资源占的多了,具体问题,这里是说不清楚的
作者:
wuliangye
时间:
2012-5-7 14:47
我做了一个长的试验,每隔1个小时增加一个用户,到了5个并发数后就不行了:
[attach]78872[/attach]
[attach]78873[/attach]
[attach]78875[/attach]
[attach]78876[/attach]
[attach]78874[/attach]
错误有很多种,有一种是:
[attach]78877[/attach]
作者:
jj_ljw
时间:
2012-5-7 15:56
那结论是资源泄露了?
作者:
wuliangye
时间:
2012-5-7 16:16
不知道啊,我一直以为是LR客户端内存不够报错,不知道是不是UNIX服务器内存泄漏导致的,高人指点下哈。。。
作者:
wuliangye
时间:
2012-5-7 16:18
还有一种错误是:[attach]78893[/attach]
难道不是说LR客户端的内存不够?
作者:
云层
时间:
2012-5-7 16:32
感觉是你脚本编写的问题么?有内存泄漏感觉
作者:
wuliangye
时间:
2012-5-7 16:38
云大侠,你是说UNXI服务器有内存泄漏可能,还是LR那台客户端?
关键是我跑的时间短(<3小时),30个用户都不会报错;但是跑了4个小时左右,5个用户都会报错
脚本很简单:
Action()
{
int HttpRetCode;
web_url("auth.jsp",
"URL=http://XX.XX.XX.X/index.jsp",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
HttpRetCode = web_get_int_property(HTTP_INFO_RETURN_CODE);
if (HttpRetCode == 200)
{
lr_start_transaction("Test");
web_submit_form("index.jsp_2", ITEMDATA,
"Name=contentId", "Value={content_code}", ENDITEM,
"Name=userId", "Value={user_code}", ENDITEM,
"Name=submit", "Value=submit", ENDITEM,
LAST);
lr_end_transaction("epimonth", LR_AUTO);
return 0;
}
else
{
lr_start_transaction("error-html");
lr_log_message("ok");
lr_end_transaction("error-html", LR_AUTO);
return 0;
}
return 0;
}
作者:
jj_ljw
时间:
2012-5-7 17:28
测试系统登录操作,不太复杂吧,是不是不加判断直接运行登录事务会好点。
另外测试机的资源消耗不大吧
作者:
云层
时间:
2012-5-7 17:38
干嘛要自己判断200状态呢?LR都会自己判断的,而且这种判断没有意义,走检查点判断
作者:
wuliangye
时间:
2012-5-8 09:30
好的,我把判断去掉,再运行下。。。
昨晚跑了一下,还是报那两个错误,26000:Not enough Memeory
作者:
wuliangye
时间:
2012-5-8 11:19
Error still:[attach]78901[/attach]
作者:
云层
时间:
2012-5-8 11:21
你自己电脑是不是真的最后内存不够了?
作者:
edisonzhang
时间:
2012-5-8 12:01
回复
4#
edisonzhang
不对,当20并发时,系统的处理能力降低,cpu有可能下降
作者:
wuliangye
时间:
2012-5-8 12:29
刚看了下,当时的LR客户机上内存和虚存都在2G左右,而LR客户机内存大小8G,虚存我也调整到远远大于2G,
怎么会老是出现内存不够的错误呢?
作者:
鹭岛
时间:
2012-5-8 12:36
你这个是什么程序?JAVA的么?还是,最好看下类的情况,感觉是内存泄漏
作者:
wuliangye
时间:
2012-5-8 13:01
恩,是的,JAVA的程序
作者:
wuliangye
时间:
2012-5-8 13:10
LR所在的进程内存和虚存使用情况:
[attach]78902[/attach]
虚拟地址空间:
[attach]78903[/attach]
内存和虚存到了2G,虚拟地址空间到了2G
作者:
wuliangye
时间:
2012-5-8 13:15
难道是脚本本身有内存泄漏?导致运行时间稍微长一点就会报错?
,到底是神马情况呀。。。
作者:
anna03
时间:
2012-5-8 17:07
看一下jvm内部的内存情况,用jconsole
作者:
yuanyuan_wo
时间:
2012-5-9 20:16
怎么看得出来这个吞吐量是6-7m的啊,35分钟的时候是,350000bytes,那350000/1024=85,我这样算对不对呢??
作者:
菜鸟@大虾
时间:
2012-5-10 18:00
just try it
作者:
bob123654
时间:
2012-5-11 08:53
貌似真的有内存泄露,看你的截图1个小时增加1个用户,那个Running Vusers图是不是有问题啊?看着好奇怪
作者:
hongchongren
时间:
2012-5-14 15:15
你的服务器是多少个CPU的?
作者:
liulang
时间:
2012-5-14 17:40
就用1个用户跑长时间呢
作者:
晴空白鹤
时间:
2012-5-14 19:21
回复
19#
wuliangye
脚本是不是有错啊,第一个事务的开始事务名称和结束事务的名称不一致啊。
另外是从上面的图片看不出内存泄露啊,云大师是怎么看的,能不能指导一下啊?
看图片可能是网络瓶颈吧,期待大师们指导。
作者:
晴空白鹤
时间:
2012-5-14 19:26
回复
32#
yuanyuan_wo
这样子计算肯定是不对的。
但到底怎么算,请大师们指导吧,我也是菜鸟。期待回复。
作者:
wuliangye
时间:
2012-5-15 09:41
TO hongchongren:CPU是8核的
To liulang:我还没试过1个用户长时间跑,可以试下
To bob123654:一个小时增加一个用户
作者:
零测试
时间:
2012-5-15 21:49
一个进程只有一个用户还是一个进程里包含多个用户(一个进程里多个线程,每个线程是一个虚拟用户)
作者:
sunnyswu
时间:
2012-5-15 22:20
呵呵 这个,大概不是内存泄露吧,可以看看 在3小时,到4小时之久内存的变化,
或许是代码的原因的,比如jdbc连接未释放,都是原因。
作者:
sunnyswu
时间:
2012-5-15 22:23
CPU,内存不够都是现象,现在目的是找到什么原因引起这些现象,
脚本应该也没有问题。
可以 看这个功能都有什么操作,比如是否连接数据库,是否有其他的操作,从程序的流程去考虑,找到其中的问题,一般来讲配置方面的问题也会有,比较少。
作者:
wuliangye
时间:
2012-5-16 16:15
To 零测试:以线程方式运行,一个进程包含多个用户
作者:
wuliangye
时间:
2012-5-18 16:57
今天问了一下几位测试前辈,初步怀疑点和大家分享如下:
1. 到了20个并发用户后,事务数没有随着用户数增加而增加,有可能是中间件做了用户数的限制;
2. 到了20个并发用户后,UNIX的CPU没有随着用户数增加而增加,有可能CPU是瓶颈;
作者:
xxllff2000
时间:
2012-5-18 18:00
楼主TPS=1000+?? 我TPS做下来只有80啊
作者:
jj_ljw
时间:
2012-5-19 11:08
开始没注意到tps得图,ls说得对,tps高了,1000+,就是每小时访问3600000次
作者:
夏美932926954
时间:
2012-5-19 20:50
学习中。。。
作者:
femir
时间:
2012-5-20 21:00
很明显服务器有内存泄漏,时间长memory就不够用了,down了,
lr_start_transaction("Test");
........
lr_end_transaction("epimonth", LR_AUTO);
你这个事务结束判断点是什么意思,要是上一个Test的事务的话就不对啊
为了确认是不是你写的代码的问题,你录制一份脚本跑一把,看看结果比较哈就晓得了
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2