【游戏】服务器性能测试(八) 服务器网络问题整理

简介: 现在市面上有各种各样的游戏,其服务器的架构也是千差万别,一个好的服务器框架往往离不开一个稳定可靠的网络通信模块。在做服务器性能测试的时候,特别需要针对服务器的网络通信模块做详细的压测,以确保其稳定可靠。压测过程中肯定会遇到各种问题,如果能够深入去理解这些问题的话,那么就可以掌握更多的知识。本篇就简单介绍一些与网络有关的问题。

【游戏】服务器性能测试(八) 服务器网络问题整理


一、引言


   现在市面上有各种各样的游戏,其服务器的架构也是千差万别,一个好的服务器框架往往离不开一个稳定可靠的网络通信模块。在做服务器性能测试的时候,特别需要针对服务器的网络通信模块做详细的压测,以确保其稳定可靠。压测过程中肯定会遇到各种问题,如果能够深入去理解这些问题的话,那么就可以掌握更多的知识。本篇就简单介绍一些与网络有关的问题。


二、TCP的半连接队列与全连接队列


微信图片_20220424105305.png


   这是一个简单的服务器TCP网络编程的步骤,其中listen开启监听的时候,可以传入一个backlog参数设置全连接队列的大小。一般情况很少会去理解和关注它,在使用压测工具去进行高并发connect服务器,如果遇到连接不成功的情况,就可以考虑是不是这个引起的。关于TCP的半连接队列与全连接队列可以参考下面的文章,解释的比较详细。


https://www.jianshu.com/p/65ee5d12b6f2 

JensenWong的这篇“TCP的半连接队列与全连接队列”介绍的很详细。

简书,JensenWong


三、Linux epoll网络模型中的事件机制


   服务器一般运行在Linux上,使用Linux的epoll网络模型来搭建高并发的网络通信模块,epoll的事件机制支持水平触发边缘触发。在大多数的网络编程中更多是采用边缘触发,如果在压测的时候发现发送了请求包但是服务器却没有进行响应,那么可以关注下服务器在使用边缘触发情况下读取网络数据的逻辑是否有问题。关于水平触发和边缘触发的解释可以参照下面的文章。


可参考这篇文章的解释,可能需要实际代码编写后才好理解

https://www.cnblogs.com/pang1567/p/4057375.html

博客园,小菜庞


四、收发包限制


   这里说的限制是指1秒内或更短时间内的包数量,如果服务器对每个客户端接收网络数据包的数量没有做限制,或者是发送响应客户端时的包数量没有限制的话,那么可能就会存在遭到被网络攻击的风险。一个客户端瞬间发送大量的网络包给服务器,一方面会引起内存的大量分配,造成程序崩溃,另一方面服务器将一直在处理这个客户端的请求而无法响应其他客户端。


五、更多问题列表


   1. 最大连接数,能够与服务器保持持久连接的客户端数。可以看ulimit相关的内容。


   2. 网络协议的设计方式,针对请求包的完整性和可靠性校验。可以参考之前协议测试里面的介绍。


   3. 单包大小限制,防止瞬间的内存分配问题。



欢迎微信搜索"游戏测试开发"关注一起沟通交流。

相关文章
|
6月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
559 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
3月前
|
弹性计算 运维 Linux
3分钟幻兽帕鲁游戏链接服务器一键部署教程,基于阿里云服务器
本教程介绍如何使用阿里云服务器快速部署《幻兽帕鲁》联机服务,支持与好友联机游戏。内容包括服务器配置、计费说明、服务创建及登录游戏步骤,同时提供存档管理与配置修改方法,助您轻松搭建专属游戏服务器。
|
6月前
|
JavaScript 数据可视化 Docker
简易制作MCP服务器并测试
本文介绍了如何简易制作并测试MCP服务器,包括环境搭建、代码实现及Docker部署。首先通过uv包创建项目,在main.py中定义MCP服务器及其工具和资源函数。接着详细说明了在Windows上安装uv、配置Docker镜像加速、生成requirements.txt文件以及编写Dockerfile的过程。最后,通过构建和运行Docker容器部署MCP服务器,并使用Node.js工具测试其功能,确保服务器正常工作。此教程适合初学者快速上手MCP服务器的开发与部署。
2436 63
|
11月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
7月前
|
弹性计算 Linux 数据安全/隐私保护
幻兽帕鲁palworld自建游戏联机服务器,使用阿里云价格真优惠!
阿里云提供幻兽帕鲁(Palworld)游戏服务器搭建服务,支持4核16G(8人在线)和8核32G(20人在线)两种配置,带宽10M,价格低至70元/月起。通过阿里云计算巢服务,可实现一键购买与自动部署,简单快捷。玩家只需在本地安装STEAM客户端并登录游戏,输入服务器IP及端口8211即可联机游玩。教程详细涵盖服务器选择、配置设置及游戏接入全流程,助你轻松开启帕鲁冒险之旅!
|
10月前
|
弹性计算 Linux 数据安全/隐私保护
阿里云上快速搭建幻兽帕鲁游戏联机服务器指南
对于热爱幻兽帕鲁游戏的玩家来说,搭建一台专属的联机服务器无疑能够大大提升游戏体验。阿里云作为领先的云计算服务商,为玩家提供了便捷、高效的服务器搭建方案。本文将为您详细介绍如何在阿里云上快速搭建幻兽帕鲁游戏联机服务器,让您轻松享受多人游戏的乐趣。
|
11月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
665 4
|
12月前
|
网络协议 Ubuntu 前端开发
好好的容器突然起不来,经定位是容器内无法访问外网了?测试又说没改网络配置,该如何定位网络问题
本文记录了一次解决前端应用集成到主应用后出现502错误的问题。通过与测试人员的沟通,最终发现是DNS配置问题导致的。文章详细描述了问题的背景、沟通过程、解决方案,并总结了相关知识点和经验教训,帮助读者学习如何分析和定位网络问题。
545 1
|
12月前
|
弹性计算 安全 测试技术
阿里云国际服务器与游戏出海业务结合,九河云助推企业快速运营
阿里云国际服务器与游戏出海业务结合,九河云助推企业快速运营
|
12月前
|
弹性计算 网络协议 Linux
云服务器评估迁移时间与测试传输速度
云服务器评估迁移时间与测试传输速度

热门文章

最新文章