论坛首页 Java企业应用论坛

Socket压力测试

浏览 10946 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (12)
作者 正文
   发表时间:2010-04-14   最后修改:2010-04-26

      最近的服务器要进行压力测试,自己要写测试程序。非功能性需求中要求同时在线用户达到5000人。所以想写个测试程序建立5000个socket然后向服务器发送消息,计算处理时间。

      代码写好运行后发现测试程序测出的时间和预想的结果又很大的出入,分析下可能是测试程序自己堵塞在那里,处理能力下降。所以想优化下测试程序,但是时间有限想写出优化的代码估计也要一段时间。所以改进了测试的方法。

       首先用测试程序建立5000个客户端连接(多台机器),循环发送消息,然后在另外写个测试代码建立一个socket连接循环发送消息。实际的时间按那一个socket连接的时间计算,那5000个客户端连接只是起到了模拟5000个在线用户的效果!

        这样测试不知道是不是比第一种的测试更准确?或者大家还有没有更好的测试方法?

        PS:我们做的是游戏的服务端,需要测试写业务的逻辑,比如登录要发送登录的消息。和普通的WEB不一样,不知道用Jmeter可以测试吗?

 

    

   发表时间:2010-04-15   最后修改:2010-04-15
用loadrunner吧 。这样测试不准确 , 如果不改底层配置  好点的机器WIN下面最多可以并发约三万多个连接,其实到1万左右性能就不行了。所谓的同时处理多少个我觉得应该都不是并发的, 因为SOCKET的信道多了就不行了,信道回收不来。
0 请登录后投票
   发表时间:2010-04-16  
一台服务器同时开5000个连接可不是闹着玩的,再加上要维护5000个连接你可能需要5000个线程(如果用阻塞式socket),的确是件很恐怖的事
0 请登录后投票
   发表时间:2010-04-16  
使用LoadRunner的话免费的Licence只支持2000个虚拟用户啊,要达到5000可能要花钱买了,价格不菲
0 请登录后投票
   发表时间:2010-04-16  
经过我N次的测试 发现不管用什么技术 300个并发已经是极限了  我不知道怎么回事  我自己也不相信
0 请登录后投票
   发表时间:2010-04-16  
试试Jmeter,可以用Jmeter的集群测试方式。
0 请登录后投票
   发表时间:2010-04-16  
连接数多的话 可以考虑用NIO
0 请登录后投票
   发表时间:2010-04-16  
连接数多的话 可以考虑用NIO
0 请登录后投票
   发表时间:2010-04-16  
http://www.jboss.org/netty
0 请登录后投票
   发表时间:2010-04-17  
Jmeter,很简单
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics