ProudNet高性能服务器特征
最大限度发挥服务器性能
- 使用线程池并发处理多任务
- 线程池分为内部网络和用户回调两种类型,免去误操作带来的网络障碍
- 灵活的自定义功能,可以设定公用线程池或关闭线程池的使用
高效 I/O 策略
- 对于内部演算较慢的 I/O,在使用上相对更加谨慎、合理、智能,提高读写效率。
- 广播消息时不是由服务器逐一发送,而是使用P2P信息进行路由,提高广播效率。(发送报文时可以选择性开启此功能)
- 对于类似游戏虚拟角色的位置坐标等信息,在激活 UniqueID功能,只发送最新的数据。
其他性能优化
- 最大限度减少内核模式和用户模式之间的切换
服务器操作系统为了处理 TCP和 UDP数据包时常会进行内核模式和用户模式之间的切换。切换过程不仅消耗时间也会降低服务器的性能。ProudNet可以最大限度减少内核模式和用户模式之间的切换。 - 两种线程池模式
游戏服务器端开发人员的失误或游戏逻辑的结构问题都有可能造成客户端连接障碍。ProudNet为了防止此类问题分别用不同线程处理用户例行程序(user routine)和网络输入输出例行程序(network I/O routine) 因服务器开发人员的失误或游戏逻辑设计本身问题有可能导致客户端连接问题。ProudNet提供了两种不同的线程池分别处理用户例行程序(user routine)和网络I/O例行程序(network I/O routine)。(注:可选择性开启或关闭) - 自由定义线程池关系
分布式服务器架构中线程池和服务器实例设计成一对多的关系很难。 但这又是开发高性能服务器的所必须的,不然会导致内核时间(kernel time)过高而降低服务器性能。 ProudNet可以让开发者根据不同情况自定义两者关系,在位置最小内核时间的同时开发出高性能的游戏服务器。