51Testing软件测试论坛

标题: 人数增加,吞吐量不变、每秒点击量不变、TPS下降,可否定义为网络瓶颈 [打印本页]

作者: z3z3z3z3    时间: 2010-7-20 13:23
标题: 人数增加,吞吐量不变、每秒点击量不变、TPS下降,可否定义为网络瓶颈
客户要求对portal进行400人压力测试,响应时间一直达不到要求。以做过很多方面的优化,weblogic的参数调整、代码的优化、增加了缓存,但是还是达不到理想的结果。
       为了寻找原因做了50人~800人的递增测试,每5分钟增加50人。一台主测试机+7台负载机,中途一台负载机掉线,还有部分用户failed,因此最后结束时用户不到700人。页面为1.5MB,应用服务器、数据库服务器的CPU和内存均没有问题,感觉是网络的瓶颈。8台测试机均是百兆带宽,路由标也是百兆,以前试过一个千兆的路由但是效果不明显,不知道还有没有其他办法可以找出问题???
        客户网站的注册人数为2万,客户要求400人5秒响应,但是目前来看这个时间是不可能达到的,个人觉得也不太合理,大家有没有一个标准的数据可供参考,一个网站做到什么程度算是合格。。。
测试结果:
每秒点击量与人数关系
[attach]63872[/attach]

吞吐量与人数关系
[attach]63873[/attach]

TPS与人数关系
[attach]63874[/attach]

响应时间与人数关系
[attach]63875[/attach]





由于领导和客户把问题归结于产品问题,决定替换调用方法,所以这次测试被太监了,也不能验证问题所在,太可惜了。。。。

[ 本帖最后由 z3z3z3z3 于 2010-9-17 16:56 编辑 ]
作者: msnshow    时间: 2010-7-20 13:37
是否网络瓶颈,这个很好判断吧,只需要分析网络状况就OK了
作者: msnshow    时间: 2010-7-20 13:37
从上面这些图看不出来是否是网络瓶颈
作者: z3z3z3z3    时间: 2010-7-20 13:40
receivetime很长,但是firstbuffr中的network很正常

[attach]63878[/attach]




[attach]63879[/attach]

[ 本帖最后由 z3z3z3z3 于 2010-7-20 14:13 编辑 ]
作者: cen0225    时间: 2010-7-20 14:04
你都添加了哪些计数器?吞吐量的图呢?
作者: Ж神Ж    时间: 2010-7-20 14:05
"receivetime很长 " 看是那个请求页面造成很长的
作者: z3z3z3z3    时间: 2010-7-20 14:07
。。。。
第二个就是吞吐量的图
作者: tttrrryyy    时间: 2010-7-20 14:10
网络瓶颈是可能的,吞吐率过早达到峰值,测一下单个用户单次访问会产生多大的流量。
20000注册用户,那期望同时在线多少?业务高峰发生在什么样的时间区域内?个人认为性能测试属于行为模拟学,你对业务场景不熟悉,测试出来的数据不具备说服力。
TPS这个指标,如果不是类似银行、电信这样的TPS敏感行业,不用过多关注,响应时间最直观。
作者: cen0225    时间: 2010-7-20 14:19
从你的图来分析我个人觉的这里面肯定有问题,上面的图是我做的一个web网站的性能测试(多次结果中的一个)

[ 本帖最后由 cen0225 于 2010-7-20 14:21 编辑 ]
作者: z3z3z3z3    时间: 2010-7-20 14:26
原帖由 tttrrryyy 于 2010-7-20 14:10 发表
网络瓶颈是可能的,吞吐率过早达到峰值,测一下单个用户单次访问会产生多大的流量。
20000注册用户,那期望同时在线多少?业务高峰发生在什么样的时间区域内?个人认为性能测试属于行为模拟学,你对业务场景不熟悉, ...


客户只给了2万注册用户、假设业务高峰在早上上班的15分钟内,也不知道400人5秒是怎么定出来的,一切都要我们来评估。。。感觉对这个项目很无语,本身产品就有缺陷。。。
作者: z3z3z3z3    时间: 2010-7-20 14:31
标题: 回复 9# 的帖子
感谢9楼给出的参考
又做了次1人~8人的,吞吐量、每秒点击量、TPS都成明显的上升趋势

[ 本帖最后由 z3z3z3z3 于 2010-7-20 14:33 编辑 ]
作者: kuangquanshui    时间: 2010-7-20 14:59
会不会是你的自己压力机出现的问题。看了你的网页分析图接受的时间都是很长,会不会是你的压力机压力太大了有时候也要考虑硬件问题。只是猜测
作者: java_test_liu    时间: 2010-7-20 15:10
如果是网络瓶颈的话,一般会有sever shutdown或time out的报错
我以前也有测过处理速度越来越慢的情况,是存储过程临时表设置错误,导致缓存操作超时,最后内存溢出。
你可以设置前端并发数大些,LR运行时间长些,看会不会报错超出内存。
作者: z3z3z3z3    时间: 2010-7-20 15:13
我只注意过50、100的时候,8台机的网络占用率、CPU不大都在20%上下,50和100的吞吐就已经没有变化
作者: z3z3z3z3    时间: 2010-7-20 15:13
有出现timeout,大概在10%左右
作者: java_test_liu    时间: 2010-7-20 15:25
应用服务器上看看运行时候,端口的链接数或java句柄数,会不会释放或增加
如果不变说明程序有问题
作者: tttrrryyy    时间: 2010-7-20 15:26
8台机器都是测试机,你怎么不看服务器端的带宽占多少了
作者: z3z3z3z3    时间: 2010-7-20 15:37
我怎么看服务器端的带宽?
按照公式:1.5M*8*400/5=960M/s,服务器千兆带宽应该够吧
作者: 苏高跃    时间: 2010-7-20 15:41
标题: 回复 1# 的帖子
你们的指标有哪些,目标是多少才达到要求,你只贴这些图的目的是什么,你怎么说不符合呢?你运行有报错了吗?
作者: z3z3z3z3    时间: 2010-7-20 15:53
1.客户期望达到400人5秒响应
2.期望能找到瓶颈,进行优化。
3.运行有timeout,压400人时有10%。50~700人递增时有30%

[ 本帖最后由 z3z3z3z3 于 2010-7-20 15:55 编辑 ]
作者: tttrrryyy    时间: 2010-7-20 15:56
降低并发数,从1加到10,看什么时候出现瓶颈,也就是吞吐率不再上升。
看你在4楼的图就已经可以确定是网络或配置问题了,代码方面的优化可以先不提。
看weblogic线程队列最大值给的多少,队列长度多少,数据库连接池配的多少,是否局域网内测试,客户端到weblogic ping值多少,weblogic ping数据库又是多少,有没有防火墙控制。
作者: z3z3z3z3    时间: 2010-7-20 16:13
原帖由 tttrrryyy 于 2010-7-20 15:56 发表
降低并发数,从1加到10,看什么时候出现瓶颈,也就是吞吐率不再上升。
看你在4楼的图就已经可以确定是网络或配置问题了,代码方面的优化可以先不提。
看weblogic线程队列最大值给的多少,队列长度多少,数据库连接 ...


参数方面其实已经有多个Orcale那边的专家来调过,国内的有,新加坡的也有,能调的其实都已经调了,还请了个法国人用代码写了缓存的程序,效果从很烂变为了烂,其实产品本身就有问题,现在想把除产品以外所有因素调到最优,并要拿出证据跟客户解释已经调无可调,让他们接受事实,本身他们选择的产品就这样,不是我们的关系。。。
作者: 放任无奈    时间: 2010-7-20 16:18
我觉得首先要确定的问题是
最开始只加载50用户
为什么50用户的点击率和吞吐量就会那么高
建议你用50用户多跑一会
拿出稳定的数据分析一下

还有个建议
从10用户开始增加
间隔稍微长一些(保证数据是有效的)
比如每20分钟增加10用户
看看点击率和吞吐量的拐点到底在哪
作者: liuhaisheng2008    时间: 2010-7-21 09:25
来学习
作者: zl861216    时间: 2010-7-21 17:12
很明显的网络瓶颈啊。。。
你的throughput都超过不了12M,属于百兆范围的。。我以前做的时候,也遇到这情况的,门户网站,图片,js,css太多了,很占带宽的
建议你,不要去从负载做压力测试了,找2台机器,直接压你们的应用服务器就可以了。效果会有质的飞跃。你的压力发生器要和你们的应用服务器在同一网段哦~~
作者: z3z3z3z3    时间: 2010-7-21 17:17
原帖由 zl861216 于 2010-7-21 17:12 发表
很明显的网络瓶颈啊。。。
你的throughput都超过不了12M,属于百兆范围的。。我以前做的时候,也遇到这情况的,门户网站,图片,js,css太多了,很占带宽的
建议你,不要去从负载做压力测试了,找2台机器,直接压你 ...


是指类似直接去机房压?
作者: zl861216    时间: 2010-7-21 17:39
标题: 回复 26# 的帖子
直接压你的APP应用服务器

比如说,修改脚本中url的地址就可以了

比如你现在的地址为www.123456.com,需要修改为你们的服务器地址,比如说10.192.22.234,当然需要开发和运维那边来支持你的,也就是说,输入10.192.22.234要能访问到你们的应用,不知道我这样说,你能不能理解。
作者: z3z3z3z3    时间: 2010-7-21 17:54
标题: 回复 27# 的帖子
我现在是用IP直接压的,没有用域名
作者: java_test_liu    时间: 2010-7-21 23:04
原帖由 zl861216 于 2010-7-21 17:12 发表
很明显的网络瓶颈啊。。。
你的throughput都超过不了12M,属于百兆范围的。。我以前做的时候,也遇到这情况的,门户网站,图片,js,css太多了,很占带宽的
建议你,不要去从负载做压力测试了,找2台机器,直接压你 ...


如果是这种情况的话,可以只压接口服务,这样就可以排斥是不是门户图片、js的影响了。
作者: 放任无奈    时间: 2010-7-22 01:36
建议楼主还是一步一步的排查
判断时不时网络瓶颈的手段很多

发现这里有的人很不低调
好像什么问题都一眼就看的很明白

论坛里很多高手都会先提出一些疑点
然后才慢慢判断的
性能问题定位是一个逐渐深入的过程
不要搞得好像明显高出别人似的 别人的问题到你那一眼就有结果了?

建议楼主还是慢慢来吧
23楼我提供的方法可以试用一下
作者: zl861216    时间: 2010-7-22 11:14
标题: 回复 28# 的帖子
你要去运维相关人员那去确认一下的,看看你的压力发生器和你的app服务器之间的带宽多大。。
门户网站我做的多了,信不信由你~!
作者: zl861216    时间: 2010-7-22 11:16
标题: 回复 30# 的帖子
很明显的问题,就不需要复杂化~~~
既然有过经验,就要拿出来分享~~~
你没遇到过类似的情况,就不要瞎出主意
产品快上线了,时间有多紧,你又不是不知道~~!!
作者: 放任无奈    时间: 2010-7-22 14:53
原帖由 zl861216 于 2010-7-22 11:16 发表
很明显的问题,就不需要复杂化~~~
既然有过经验,就要拿出来分享~~~
你没遇到过类似的情况,就不要瞎出主意
产品快上线了,时间有多紧,你又不是不知道~~!!


看来在你眼里什么问题都很简单了
你怎么知道我没遇到过类似的问题

性能测试需要从很多方面去定位问题
怎么在你这看两个图就能定位了
作者: shigui3615    时间: 2010-7-22 19:43
标题: 回复 9# 的帖子
我觉得您的最后那两幅图能说明您所测的web网站的性能测试存在问题,或者存在网络延时等情况。
因为当用户数达到稳定状态时,TPS和平均响应时间波动实在是太大了,您觉得呢?
作者: 薛定谔    时间: 2010-7-22 22:30
原帖由 zl861216 于 2010-7-22 11:16 发表
很明显的问题,就不需要复杂化~~~
既然有过经验,就要拿出来分享~~~
你没遇到过类似的情况,就不要瞎出主意
产品快上线了,时间有多紧,你又不是不知道~~!!


典型的半瓶子咣当型选手
就你一个人懂性能测试被

估计也就是在个小公司做测试的
你要真是在百度搜狐淘宝的也行 算你牛逼
要不就别装大了
作者: cen0225    时间: 2010-7-23 10:12
原帖由 shigui3615 于 2010-7-22 19:43 发表
我觉得您的最后那两幅图能说明您所测的web网站的性能测试存在问题,或者存在网络延时等情况。
因为当用户数达到稳定状态时,TPS和平均响应时间波动实在是太大了,您觉得呢?


请详解,你的意思是应该平稳在高位,不应该出现向下的波动???
作者: twinsczl    时间: 2010-7-23 17:11
原帖由 z3z3z3z3 于 2010-7-20 15:37 发表
我怎么看服务器端的带宽?
按照公式:1.5M*8*400/5=960M/s,服务器千兆带宽应该够吧


诶呦呦,960M/S  厉害哦~

百兆的路由哦,理论速度是12.5MB/S吧  不信你可以用飞鸽传文件算算 超过这个是不可能滴
千兆带宽哦,理论熟读是125MB/S 不信...
较好的服务器硬盘算你6Gb/S,理论速度是800MB/S

换千兆的路由没的效果,说明服务器网卡是百兆滴~

外话:人数增加,吞吐量不变,那是不可能滴
      不变的可能是速率,总量是绝对要上去滴,响应时间是绝对要慢下来滴,如果是这样网络就是瓶颈滴
      当然,万事不靠谱,还得具体问题具体分析滴,各个场景不同也不能一概而论滴

我们平时在算速率时用的是Bit,在标注一个硬件有多快时候也是用Bit
但体现在直观层面上,我们更希望看到的是Byte,就像很多流量小工具一样都用这个,只不过换成KB的给你显示出来,也就有了常有的KB/S之类的
Loadrunner上用的是Byte
还是算清楚来比较好,一差差好多的

大家弄个360流量监控之类的,你看看,在并发要过的时候,你的流量达到多少了?直观明了啊~还每个虚拟用户进程都给你标好哈哈~
别忘了服务器上也搞个
记得关网盾实时保护之类的

[ 本帖最后由 twinsczl 于 2010-7-23 17:13 编辑 ]
作者: z3z3z3z3    时间: 2010-7-23 17:49
标题: 回复 37# 的帖子
请教了,1.5M(bytes) * 8 * 400(人) / 5(s)=960M(bits/s) 有问题吗?

关于带宽,客户明确说明了服务器端是千兆的
作者: shigui3615    时间: 2010-7-24 11:47
原帖由 cen0225 于 2010-7-23 10:12 发表


请详解,你的意思是应该平稳在高位,不应该出现向下的波动???


网上看到的观点:
    事务通过数的意思是每个特定时间间隔内通过的事务数,如果随着场景执行时间的推延,通
过事务数曲线应该是平缓的,如果突然上升,则可能是服务不稳定,或者网络因素导致的,
如果持续下降,则表示服务的处理能力在下降,此时可以查看服务器段是否有进程堵塞,或
者服务器的连接数不够,也可能是网络带宽不够.


    平均事务响应时间在整个测试过程中是一个很重要的参考指标,他能清晰的反映出场景
执行过程中,每个事务的执行时长,整个业务中哪个操作最耗时等等。场景执行结束后,可
以根据这个图表分析出在一定响应时间要求下,系统可支持的并发数,假如我们要求在查询
的时候要求这个返回结果的时候不超过5 秒,那么可以在场景中找到对应的SubQue 事务在
处理时间为5 秒左右的时间点,再从Running Vuser 图中找到对应的时间点,查看对应的并
发用户数。同样,在整个执行过程中,当并发数达到一定数值后,平均事务响应时间曲线应
该是平缓的,如果出现突然升高或者降低的情况,则表示系统存在异常,这样我们可以找到
这个时间点去查看服务器端的运行日志,查找原因.
作者: zl861216    时间: 2010-7-26 09:17
标题: 回复 38# 的帖子
找个和生产环境同一个网段的负载机,压一下,就知道了嘛~!!
如果不出意外的话,你们的网络流量会飙升上去,你的hits per second会高达3000以上的,这时,有可能会出现LoadRunner自生的链接与释放问题,去网上搜一下,去注册表里改个参数就可以了,当然,如何没有出现问题,就更好了~~~~~
同时你的throughput也会飙升上去的,你的服务器CPU利用率也会上去的。
作者: devil_xxg    时间: 2010-7-26 10:34
看到吞吐量已经接近100M,12MBytes×8=96Mbytes,
作者: lijian422202    时间: 2010-7-30 09:53
网络瓶颈,
虽然你的服务器出口是千兆的,但到你的路由只有100M,也就是说你下面的8台机器一个只有10M左右,单台传输为100多K,而你的静态文件都很大,所有造成了recvice时间长。

但这个网络瓶颈照成的原因就要看你的业务了,如果那2W人总是用固定的电脑上网,那么基本可以考虑模拟浏览器缓存。网络应该就不是问题了
作者: jj_ljw    时间: 2010-7-30 10:41
从第二张图,即“吞吐量与人数关系”看,为什么人数在60时,流量就到了100M啊,随后流量就不随人数得增加而增加呢。是不是100M就是你得网络流量上限呢?lz作得50vus的响应时间是多少来
作者: tiancom    时间: 2010-7-30 11:53
随着用户数增加  tps在减少,有可能是网络传输受到了限制,导致业务数降低

你可以继续跑 10分钟 再看看结果,
作者: 联盟新秀    时间: 2010-7-30 20:29
哇!
有点难度
作者: bug_tarena    时间: 2010-9-13 11:41
关注的帖子啊,楼主,你的问题解决了吗??
发上解决问题,验证下大家的推断啊。
作者: Tom2006    时间: 2010-10-9 10:58
网络瓶颈,
虽然你的服务器出口是千兆的,但到你的路由只有100M,也就是说你下面的8台机器一个只有10M左右 ...
lijian422202 发表于 2010-7-30 09:53



   个人认为从提供的数据上分析还是有一定道理的。如果是100M的带宽 throughput 图上显示的是12.5MB/s ,这是上限。从图上看网络已经接近上限了。
作者: kathyge    时间: 2010-10-15 17:31
是不是js等图片太多的原因,可以用HttpWatch看一下。
作者: adang223    时间: 2010-10-21 13:57
问题是否已解决?
作者: shouyongchang    时间: 2011-4-19 15:58
本帖最后由 shouyongchang 于 2011-4-19 16:01 编辑

关注下,个人觉得也是网络瓶颈,或者服务器已经开始不稳定了,处理速度降了下来了
作者: hongliangqing    时间: 2011-4-19 16:09
回复 12# kuangquanshui


    朋友:我发现你很懂。我想跟你交个朋友,好吗?
作者: william-hui    时间: 2011-4-22 16:40
不错的帖子!
作者: frankwangzy1103    时间: 2011-4-22 17:05
1.5*400=600M
百兆网卡肯定不够啊
作者: 781188610    时间: 2015-12-21 15:58
这个最后找到哪里有问题了吗?吞吐量应该随时间上升吗?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2