NewLife.Net压力测试,峰值4.2Gbps,50万pps,消息大小24字节,消息处理速度1.88亿tps!
共集合20台高配ECS参与测试,主服务器带宽6Gbps、100万pps,16核心64G内存。另外19台共模拟400个用户连接,13*16+6*32=400,每用户发送2000万个消息,服务端收到后原样返回。
有些同学比较着急,觉得前面两篇有点小儿科,群友就说,上数字吧!
我们在2017.4.1做了一个极限并发测试,奔着单机100万并发,实际上只得到了84.5万,这次补一个吞吐量的压力测试好了。
老规矩,先上代码:https://github.com/nnhy/NewLife.Net.Tests
一、测试结果
二、服务端修改
我们对前一篇文章的例程稍微调整一下:
class MyNetSession : NetSession<MyNetServer> { /// <summary>客户端连接</summary> public override void Start() { base.Start(); // 欢迎语 var str = String.Format("Welcome to visit {1}! [{0}]\r\n", Remote, Environment.MachineName); Send(str); } /// <summary>收到客户端数据</summary> /// <param></param> protected override void OnReceive(ReceivedEventArgs e) { //WriteLog("收到:{0}", e.Packet.ToStr()); // 把收到的数据发回去 Send(e.Packet); } }