最近的服务器要进行压力测试,自己要写测试程序。非功能性需求中要求同时在线用户达到5000人。所以想写个测试程序建立5000个socket然后向服务器发送消息,计算处理时间。
代码写好运行后发现测试程序测出的时间和预想的结果又很大的出入,分析下可能是测试程序自己堵塞在那里,处理能力下降。所以想优化下测试程序,但是时间有限想写出优化的代码估计也要一段时间。所以改进了测试的方法。
首先用测试程序建立5000个客户端连接(多台机器),循环发送消息,然后在另外写个测试代码建立一个socket连接循环发送消息。实际的时间按那一个socket连接的时间计算,那5000个客户端连接只是起到了模拟5000个在线用户的效果!
这样测试不知道是不是比第一种的测试更准确?或者大家还有没有更好的测试方法?
PS:我们做的是游戏的服务端,需要测试写业务的逻辑,比如登录要发送登录的消息。和普通的WEB不一样,不知道用Jmeter可以测试吗?