51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5358|回复: 16
打印 上一主题 下一主题

[原创] 一个web系统登录时的性能问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-10-24 17:42:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
案例如下:
1.硬件配置为专用的IBM服务器,内存大小16G。
2.软件配置为:windows2003+IIS6+oracle
3.使用VS.NET2003开发。
4.最终用户数在1000以上。用户使用时间相对比较集中。
5.系统整体数据量比较大,单页面数据量最大在3万以内。
问题如下:
1、部分用户登录系统比较困难,出现登录页面长时间无反应情况,需要多次登录才能进入系统。
2、登录系统后,在主要业务模块工作一段时间(可能较长)后,整个页面变空白,只剩下一个边框,同时也无法关闭窗口。
问:
1.可能导致上述两种情况出现的原因?
2.如果使用LoadRuner加压测试登录页面,在并发用户数达到200以后发现系统性能明显下降,可能的系统瓶颈?

[ 本帖最后由 gslcn897 于 2006-10-24 17:44 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-10-24 18:12:42 | 只看该作者
测试登陆时间延时,你已经分析并发用户数达到200以后发现系统性能明显下降,下一步就是分析是哪里的瓶颈啦?
至于工作一段时间(可能较长)后,整个页面变空白,我的问题是用户在工作的同时给HTTP造成响应了吗,如果没造成,会不会是SESSION超时所造成的
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-10-25 13:47:42 | 只看该作者
1.关于登录的问题我已经通过工具监测了一下系统资源的使用情况,oracle的情况和iis的情况:
系统内存的占用量一直很小没有超过1G,内存占用曲线和i\o曲线基本吻合.
oracle在现有的数据吞吐量下不存在问题.
由于我对iis不是很了解现在只监测到了数据,没有得出分析结果.
2.应该不是session超时,如果是系统会有相应的提示.应该是页面加载时程序的问题,进行了优化后
问题仍然存在。后来报表格控件和排序程序都换掉了,还是存在问题!
郁闷ing!!!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-10-26 01:53:45 | 只看该作者
兄弟真逗,让我们来猜你压力测试后的分析结果。呵呵~
这个恰恰是你做压力测试的目的啊,如果你压好了都不知道怎么一回事,那你压它干吗了?
找到一种压的方式对压力测试来说根本没有任何作用,关键是你要根据问题找到合适你的压力方式和系统监控的方式,不是随便怎么压都可以的。经常有这样的情况,为了满足你对系统做压力的方式,要对程序进行修改的。
我打个我曾经做过的一个压力测试的比方,那是个JAVA的WEB系统,WEB调用JAVA的SOAP,SOAP调用CORBA,CORBA后面是数据库,系统使用速度比较慢,为了检查SOAP和CORBA的问题,我们专门在JAVA的WEB系统和SOAP外面做了个APPLICATION的壳,用这2个应用程序分别录制到了SOAP和CORBA的1个调用的脚本,然后在这2个脚本的基础上自己手写完整的调用脚本,另外加上HTTP的脚本,用这3个脚本分别从WEB、SOAP和CORBA等3个层面对系统分别进行压力测试,加上WEBSPHERE和ORACLE的监控工具,我们才找出了有1个CORBA调用的SQL语句因为没有加索引而速度慢,还有WEBSPHERE配置不合理需要进行优化这2个原因。
总之,你要好好想想,你要获得那些信息来帮你分析系统原因,知道这些后你再考虑录制什么样的脚本,选择哪些系统监控工具。
最后说一下,LR里的系统监控,都是些最基本的东西,远远不如各种专用的系统监控工具。这是我个人的感觉。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-10-26 15:06:53 | 只看该作者

to jackloo

首先谢谢你的回帖!
我的压力测试做完之后,没有得到我想要的结果,即没有找到性能的瓶颈。
这说明我的测试用例很失败至少是很不够。可是我的能力有限,所以才开这个贴,希望遇到过这类问题的人能给提供一些线索或是经验,我好重新设计我的测试用例,以便找出我的系统瓶颈。
“LR里的系统监控,都是些最基本的东西,远远不如各种专用的系统监控工具。这是我个人的感觉。”
这点我比较同意,要想从LR监测到的数据里分析出结果是一件比较困难的事。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-10-26 15:45:02 | 只看该作者
那你把你的系统结构和你需要测试的那些功能点跟我们详细说一下吧。大家帮你一起想想办法。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-11-2 11:03:00 | 只看该作者

第一个功能点:登录系统

系统是b/s结构的.
登录信息包括单位名称、部门名称、帐号和密码。
登录过程中还包括了权限点的验证,在用户进入系统之前检查用户拥有的所有权限点,根据结果生成相应的用户视图。
权限的管理是通过最常用的权限点+角色的管理模式。几乎对页面上所有可控的元素都进行了权限点的设置。

新一轮的测试结果发现:当用户达到200并发时事务平均响应时间为83s,最小为76s,90%的事务响应时间在89s以内,二次偏差值为4.18。
登录页面和登录成功后跳转的页面的
First Buffer时间分别为30s和23s

大家帮我分析一下我现在关注的重点应该放在那里??
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-11-2 11:04:37 | 只看该作者

表示歉意

忘了说了,这两天有其他事,没有及时跟帖,望谅解!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-11-2 13:42:02 | 只看该作者
你现在不知道问题在哪里的原因是你没有针对这2个功能点内部做了哪些事情来进行测试。未测试前就已经知道这2个功能点有问题,但测试脚本只是从大的功能点进行录制的,那么你测试下来发现的结果只是进一步的证实了这2个功能点是慢,却因为没有针对这2个功能点里面做的每一步操作进行测试,从而发现不了原因。所以你目前的测试方案是失败的。
你只有把这2个功能点里面的东西拿出来进行压力测试,你才有可能发现(下面是假设):
第一个功能点里做了8个操作,其中操作3和6占用时间很多,而且操作5经常返回错误导致登陆失败;
第二个功能点做了5个操作,其中操作2占用了绝大部分时间。
当你拿出这样的结果,表明你的测试成功了。
建议你做下面几个工作:
1。针对数据库做测试。把系统在登陆过程中执行的SQL语句单独拿出来做数据库的压力测试脚本,检查每个语句的执行效率,其中要注意开记录集的时候锁表方式要和程序中的锁表方式相同,这其中肯定要做参数化;
2。如果有可能,让程序员修改代码来配合你的测试:把这2个功能点中的每个操作拆分成通过点击按钮来运行下去,而不是现在自动的连续执行下去。这样你可以在web上直接录制到每个操作的脚本,从而可以检查系统调用这些SQL语句的执行效率(这和数据库执行这些SQL语句的效率还是有差别的),从而可以看出程序在运行过程中是否有问题;
3。让开发人员检查代码是否有数据库连接未释放的情况,这样的检查比你做压力测试,效率上高很多;
4。检查你的应用服务器的配置情况,应用服务器的配置优劣,对系统执行效率也有很大的影响;
5。oracle有专门的系统监控工具,symantec公司的Veritas i3产品里的Indepth/oracle,用它来检查数据库执行效率(这工具很贵,如果没有的话让你们的DBA去分析数据库);
6。cacti是很好的windows系统监控工具,用它来检查每个进程的CPU、内存的效率,比windows自带的强很多;
7。controller的机器用最好的机器,有服务器就用服务器,把压力测试中客户端性能对测试结果的影响降到最低;
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2006-11-2 16:49:01 | 只看该作者

to jackloo

谢谢!!
你所说的正是我正在思考的。
前面的测试我只是证明了问题所在,却没有找出原因,说明我的测试很不够需要进一步的细化。
所以我和开发人员沟通了一下,要求他把这几个功能点的具体实现过程捋清楚,然后在充分交换意见之后,重新设计测试用例,重新测试。
现在有个问题:
1.如果我做了你说的第二点,还有必要做第一点吗?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-11-3 11:39:52 | 只看该作者

迷糊+佩服

至今没有切身做过性能测试,所以以上讨论看得有点迷糊。但是很佩服jackloo乐于助人的精神 sdlkfj3
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2006-11-7 17:28:50 | 只看该作者
我们对相关的页面的代码进行优化后,情况依旧。
并且在httperr的日志文件里发现有如下错误:
1)......Connection_Dropped ;
2)......Connection_Abandoned_By_AppPool;
省略号代表申请的页面。
登陆页面出现长时间无反应后,说连接被异外中断。然后在日志中
就可以看到该错误。
在微软官方网站查了相关内容,没有结果。sdlkfj9 sdlkfj9

[ 本帖最后由 gslcn897 于 2006-11-8 08:37 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2006-11-7 17:31:58 | 只看该作者
我现在怀疑iis6在win2003下不稳定,这是我们第一次在这种环境下作系统,望有经验的指点!!
先谢谢了!!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2006-11-17 15:26:45 | 只看该作者

高兴!!

系统不稳定的问题终于解决了,给大家报个喜。
同时也谢谢各位的帮忙了!!
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2006-11-17 20:03:34 | 只看该作者
为你高兴!让我们共同学习。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-12-12 15:38:48 | 只看该作者

能告诉我你的系统不稳定问题是怎么解决的吗

能告诉我你的系统不稳定问题是怎么解决的吗,我也遇到了同样的问题
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-12-21 12:19:43 | 只看该作者
怎么回事
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-11 17:07 , Processed in 0.084372 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表