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

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

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


一、引言


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


二、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. 单包大小限制,防止瞬间的内存分配问题。



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

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
5月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
148 2
|
3月前
|
缓存 负载均衡 监控
HTTP代理服务器在网络安全中的重要性
随着科技和互联网的发展,HTTP代理IP中的代理服务器在企业业务中扮演重要角色。其主要作用包括:保护用户信息、访问控制、缓存内容、负载均衡、日志记录和协议转换,从而在网络管理、性能优化和安全性方面发挥关键作用。
113 2
|
3月前
|
弹性计算 Linux 数据安全/隐私保护
阿里云上快速搭建幻兽帕鲁游戏联机服务器指南
对于热爱幻兽帕鲁游戏的玩家来说,搭建一台专属的联机服务器无疑能够大大提升游戏体验。阿里云作为领先的云计算服务商,为玩家提供了便捷、高效的服务器搭建方案。本文将为您详细介绍如何在阿里云上快速搭建幻兽帕鲁游戏联机服务器,让您轻松享受多人游戏的乐趣。
|
4月前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
108 5
|
4月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
75 1
|
5月前
|
存储 安全 数据可视化
提升网络安全防御有效性,服务器DDoS防御软件解读
提升网络安全防御有效性,服务器DDoS防御软件解读
131 1
提升网络安全防御有效性,服务器DDoS防御软件解读
|
4月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
731 1
|
4月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
1667 2
|
4月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
4月前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS

热门文章

最新文章