救命呀,系统瓶颈到底在哪里?
本帖最后由 wuliangye 于 2012-5-7 10:45 编辑测试的性能分析图如下:
从结果看,到20个并发用户时,系统的点击数,吞吐量以及UNIX的资源利用开始下降,但是怎么判断这个瓶颈到底在哪里?各位大侠,请帮忙!! 你的响应时间不大啊,最高才0.032s。网络吞吐是100M? 是呀,响应时间很小,网络吞吐只有6~7M啊 你先查看 是什么占用这么高的CPU
vmstat top 看下 CPU我看了下,随着并发数增加而增加,等到了20个左右的并发数后,就发现CPU由77%左右开始下降。
我想如果CPU是瓶颈的话,那么并发数增加后CPU应该一直居高不下,应该不会表现出下降的趋势吧? 测试软件的配置调高点,看看cpu能增大不 TO edisonzhang, jj_ljw:你们都怀疑CPU是瓶颈是么?调高不行的,服务器不在我这边,vmstat top 我不会用,unix系统没用过主要,我要查下资料才行。
TO edisonzhang: 有没有其他的怀疑点? 看起来不是蛮正常的么 云大侠,到20个并发用户时,系统的点击数,吞吐量以及UNIX的资源利用开始下降,我认为20个并发数已经是系统的极限了,那么如何从这个结果中判断出系统瓶颈在哪里。
之前做50个并发时的结果如下:
20并发用户后点击数、thoughtput随着用户增长并没有增加而是持平和略降,证明20并发后系统出现了拒绝连接的情况。 1. 系统没有限定多少个连接数,UNIX系统的连接数应该不会只有20个吧?
2. 如果是系统拒绝连接,怎么找出原因? 还想问下,如果系统拒绝连接的话,LR客户端应该会有相应的错误日志提示吧? 云大侠,到20个并发用户时,系统的点击数,吞吐量以及UNIX的资源利用开始下降,我认为20个并发数已经是系统 ...
wuliangye 发表于 2012-5-7 13:14 http://bbs.51testing.com/images/common/back.gif
你时间做长点,我个人觉得可能有资源泄漏。。。。如果一直这样下去最后处理能力消失,那么要么就是排队排死了,要么就是资源漏完了,你先看有啥资源占的多了,具体问题,这里是说不清楚的 我做了一个长的试验,每隔1个小时增加一个用户,到了5个并发数后就不行了:
错误有很多种,有一种是:
那结论是资源泄露了? 不知道啊,我一直以为是LR客户端内存不够报错,不知道是不是UNIX服务器内存泄漏导致的,高人指点下哈。。。 还有一种错误是:
难道不是说LR客户端的内存不够? 感觉是你脚本编写的问题么?有内存泄漏感觉 云大侠,你是说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;
} 测试系统登录操作,不太复杂吧,是不是不加判断直接运行登录事务会好点。
另外测试机的资源消耗不大吧