java nio-SocketChannel压力测试场景下,收发消息时间不断变长
采用SocketChannel给服务端发信息(socketChannel.write),并接受返回的信息(socketChannel.read),结果在loadrunne...
采用SocketChannel 给服务端发信息(socketChannel.write),并接受返回的信息(socketChannel.read),结果在loadrunner的压力测试下,跑一会,SocketChannel收发处理时间越来越长?有大虾遇到过么,可能的原因是什么啊?
例如在的开发发消息前加一个long started = System.currentTimeMillis();在消息返回后System.out.println("tcpCaller pay time:"+(System.currentTimeMillis()-started));,在控制台就会看到这个时间在loadrunner测试时就会不断的增大 展开
例如在的开发发消息前加一个long started = System.currentTimeMillis();在消息返回后System.out.println("tcpCaller pay time:"+(System.currentTimeMillis()-started));,在控制台就会看到这个时间在loadrunner测试时就会不断的增大 展开
1个回答
展开全部
跑的线程太多了吧,你是用的Linux还是Windows服务器?再者,看看服务端那块数据接收正常不?这个没有那么简单的
更多追问追答
追问
windows的。服务器端的代码我用winsocket测试过,是正常的。
就起了20个loadrunner的vuser,就是开始看一次socket收发消息是几时毫秒,跑了十分钟左右吧,就变成几百毫秒了,导致整体的吸能下降,还看不出什么问题,郁闷啊。。
追答
你可以分几个步骤去调试,这个不好说啊,一个一个排除吧
自己开20个线程去连接你的服务端,同样跑十几分钟,看看是不是也慢,如果也很慢,那去看看是不是你的网络有问题,如果网络没问题,那就再去看服务端那块的日志,调试一下,看看服务端是不是有问题。如果这时候正常,那是不是应该LoadRunner的脚本没写好吧,是不是哪里资源没有释放,参数LoadRunner配置看看,是不是哪里配置的也不对
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询