文章目录
- ET服务器框架学习笔记(二十)
- 前言
- 一、BenchmarkComponent
- 二、ET中另外两个服务方式UDP,WebSocket
- 总结
本篇简单介绍一下ET中得压测模块
提示:ET5.0中的压测示例比较简单,实际上针对不同业务逻辑需要写不同的压测模块,但是使用方式是几本相同的。
BenchmarkComponent组件的内容相对简单,大体流程:模拟多个客户端,每个客户端向固定端口发送一个消息,然后记录耗费时长等信息。
获取地址,外网组件,然后调用2000次循环(模拟2000个客户端同时发送数据),内部调用TestAsync
每调用一次TestAsync,都通过外网组件创建一次Session。然后内部循环异步调用次发送。

每次发送完毕后唤醒异步,进行记录,这里记录了每10W次处理的耗费时间,简单的估算了处理能力,当然也可以在这里用其他指标来进行测试。服务器得处理方式也比较简单,收到Ping直接回复,没有其他处理。
至此,一个外网组件的最简单的测试,也可以测试actor等等其他消息,看响应速度等。
备注:对于webSocket的压力测试组件WebSocketBenchmarkComponent,与普通的测试基本一样,这里就不做过多解释了,只是一个socket类型与地址不同而已。
- WebSocket的实现方式与TCP差别不多,唯一的几个差别就是在开启服务,新建Socket的地方不一样,Tcp中交给Channel,WebSocket交给了Service处理。
- UDP在ET中使用了KCP的方式进行使用,即可靠UDP。UDP处理相对TCP来说更加复杂一点。内部封装了很多状态消息,因为消息接收时可能是无序的,所以还要对这些消息进行二次消息的拼接处理,这样能保证消息的可靠性。
UDP的具体处理我就不仔细说了,对于延时要求较高,可靠性要求较低的游戏可以使用这种通信方式。在一般的MOBA类,或者竞技类游戏中用的比较多,因为节省了握手以及错误重发等机制,所以在不稳定网络中有很好的响应表现。
自此,ET5.0服务器框架中所有的服务模块基本上都简单的梳理了一遍,个人理解可能会有错误的地方,希望后面在具体使用过程中进行纠正。
后续会真正开始使用ET5.0作为框架基础进行开发,当然如果6.0正式版本在我开发初期的话,估计我会马上转战6.0了。毕竟6.0里面的思想更加先进,对理解,使用,以及合作开发上都提供了更加强大的能力。
这里再次感谢ET作者,开源这款强大的C#语言基础的服务器框架,里面很多思想都值得学习。
最后希望在这款框架的帮助下,实现人生价值!!!!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/140635.html