51Testing软件测试论坛

标题: 如何解决大量用户登陆的优化问题? [打印本页]

作者: alexander_zhu    时间: 2008-11-19 11:21
标题: 如何解决大量用户登陆的优化问题?
小弟,现在性能测试自己的项目,发现大量用户登陆的时候,并发数只能到100,而用户数是3000,基本是9-10点登陆完3000人,肯定会超过100人并发。
现在需要优化,又苦于没解决方案。

页面存在服务器缓存上以后,响应时间好了很多,但是还是没解决根本问题。和用户无法交代。

项目环境:BS结构、J2EE开发的、网络环境是专线。响应时间要3秒内,3000人用户使用。

各位大哥大姐能给点意见不?越省钱的越好。
作者: archonwang    时间: 2008-11-19 11:30
你说的并发大概是在线的意思吧。

首先,解决目前的系统可以承载的用户数量,没有看到你的结果曲线,请自行测试后分辨。
第二,甄选性能瓶颈
第三,就性能瓶颈进行初步的优化后重新进行测试
第四,就测试结果进行分析,看有无再次进行优化的必要
第五,如发现性能提升不大,建议你和开发一起,检查系统的框架结构设计——到这一步已是迫不得已,一般情况下不推荐
第六,增加硬件

给你几个优化的建议:
1. 优化服务器操作系统的连接数配置
2. 优化数据库连接池
3. 优化中间件连接池和JVM内存分配
4. 优化操作系统其他相关的性能参数
作者: alexander_zhu    时间: 2008-11-20 12:41
小弟通过分析脚本,发现登陆过程中多了些不应该有的东西。和程序部门沟通了2日,他们最终修改了这写不该有的,最后还将全页面刷新改成局部刷新。
最后测试并发数小500时,响应时间才2。4秒,600时反而是2。1秒了?这又是为什么?
作者: archonwang    时间: 2008-11-20 14:04
请把场景设计和集合点策略提供下。
作者: alexander_zhu    时间: 2008-11-21 10:28
原来登陆流程中是这样:

用户开网页-》网页显示完毕-》输入登陆帐号、密码-》点登陆(集合点,集合点之后开始计算的起始)-》待页面显示登陆成功(结束时间)-》登出


而分析过脚本以后,发现时间段中间,有了个弹出窗口,瞬间就关闭,其元素和主页完全一样。显示登陆成功以后,页面还要全部刷新。

个人认为是这2个地方占了时间。最后程序那边妥协,将弹出窗口取消,利用AJAX局部刷新解决全面页面刷新。解决了100并发登陆的瓶径,现在600人也才2秒多点。:)




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