项目的情况简介:
项目属于客户端/服务端模式产品,要求每个服务端能支持连接500个客户端
服务端支持三级连接模式,每个服务端能支持连接500个客户端,总要求支持大约5000个客户端。
测试的过程描述:
在测试实验室中,只能搭建10个客户端的环境以及三级连接的环境。服务端初次连接客户端后,客户端会保留服务端的IP地址。下次客户端机器启动时,会自己连接服务端。每次连接属于短连接。在产生事件时,客户端会自己上报给服务端。
测试过程遇到的问题:
在实验室中测试系统稳定可用,但在用户那里遇到服务端异常退出。
问题分析:
客户端同时大量上报事件时,服务端处理出问题,导致系统异常退出。
希望寻求的帮助:
如何模拟多客户端问题?如何进行产品的性能测试?如何保证产品的稳定性?
相关分析
分析一:
分析内容:
很简单,这种情况,用loadrunner最合适了,用loadrunner这种压力测试工具,模拟多用户环境,不知道你们是用什么语言开发,如果是java的甚至可以利用loadrunner的Tunning组件,达到代码级的调优。如果是C#.net,那很要等啦,Mercury同意支持C#.net,但支持版本还没有出来。我在给你个建议,找个系统整合专家,看看是不是他们的网络有问题,或者是服务器没有调试好。有时候,机子CPU多,没有调试好,可能大量的CPU资源用于频繁的调度,而造成系统异常。有时候,还要改进算法。这种系统调试最麻烦了!
分析二:
分析内容:
个人意见:对这个问题的分析应该考虑两个层次:
1、解决现有问题的层次;
2、探讨测试不充分问题产生的根源并从根源上避免此类问题的发生。
这个问题本身是比较好解决的,在现场出现问题后,我们要做的是利用实验室的环境(或者现场的环境)确定问题产生的原因,从例子的描述来看,应该是在客户端大量建立连接时服务端无法支持,产生异常退出。对该问题的定位可以用LR等性能测试工具(或是自己编写的工具)模拟进行大并发量的突发连接测试,并据此给出改进的方法。