[发明专利]一种游戏服务器负载测试方法有效
申请号: | 202011409953.5 | 申请日: | 2020-12-04 |
公开(公告)号: | CN112527641B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 汪兴 | 申请(专利权)人: | 厦门极致互动网络技术股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 厦门致群财富专利代理事务所(普通合伙) 35224 | 代理人: | 刘兆庆 |
地址: | 361000 福建省厦门市火*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 游戏 服务器 负载 测试 方法 | ||
本发明公开了一种游戏服务器负载测试方法,包括如下步骤:S1、测试人员启动N个客户端进行正常的游戏,同时为每个客户端分配一个唯一的客户端ID,并附加随机种子和唯一的ID基数;S2、捕获客户端产生的网络请求数据,并实时上传至测试机;S3、测试机接收到客户端的网络请求数据后,将数据写入以客户端ID命名的数据流文件中,生成N个数据流文件;S4、为测试机指定需要模拟的玩家数量M,开始产生负载;S5、对比不同玩家数量下的负载情况和优化服务器前后的负载情况。本发明实现了对真实用户行为的准确模拟,使负载测试结果极大地贴近生产环境,从而减小偏差;同时无需针对具体的游戏业务编写针对性测试代码,降低了成本。
技术领域
本发明涉及计算机技术领域,特别涉及一种游戏服务器负载测试方法。
背景技术
为了让每个玩家都有独特的体验,游戏业务常常含有随机性,因此现有的负载测试技术只能针对具体的业务人为地编写测试用例,导致需要投入大量的开发成本,此外,人为编写的负载测试用例难以反映真实的用户行为,测试结果往往和生产环境负载有较大的偏差。
发明内容
为解决上述问题,本发明提供了一种游戏服务器负载测试方法。
本发明采用以下技术方案:
一种游戏服务器负载测试方法,包括如下步骤:
S1、测试人员启动N个客户端进行正常的游戏游玩,其中,每个客户端启动时均为该客户端分配一个唯一的客户端ID,并在通信数据中为每个客户端附加随机种子和唯一的ID基数;
S2、捕获所述客户端产生的网络请求数据,并实时上传至测试机;
S3、所述测试机接收到所述客户端的网络请求数据后,将数据写入以客户端ID命名的数据流文件中,生成N个数据流文件;
S4、为测试机指定需要模拟的玩家数量M,开始产生负载;
S5、对比不同玩家数量下的负载情况和优化服务器前后的负载情况。
进一步地,步骤S1中所述为客户端分配一个唯一的客户端ID时,可通过人为约定为客户端输入一个预先分配好的ID,或通过网络请求测试机分配一个唯一的客户端ID。
进一步地,步骤S1中所述随机种子可随机取得或直接使用客户端ID。
进一步地,步骤S1中所述ID基数可直接使用客户端ID乘以一个数值。
进一步地,所述数据流文件还记录每个网络请求数据的时间。
进一步地,步骤S4具体为:
S41、测试机创建M个套接字对象,连接到服务器,测试机为每个套接字对象生成一个唯一的客户端ID和ID基数;
S42、每个套接字对象从N个数据流文件中随机选择一个数据流文件;
S43、每个套接字对象按所述数据流文件中记录的时间和请求数据,依次按时发送请求数据到所述服务器。
进一步地,步骤S43中所述请求数据每次发送前,先解析所述请求数据是否携带唯一ID,若是,则将唯一ID中的ID基数部分替换为套接字对象自身携带的ID基数,否则不做替换。
进一步地,步骤S43中所述请求数据若需要定制化修改,则先编写请求数据的定制化修改逻辑,并将所述逻辑注册到一个存储器中,每次发送请求数据前,检查存储器中是否存在需要执行的所述定制化修改逻辑,若有则执行修改逻辑。
进一步地,所述随机种子需满足条件:所有使用了相同随机种子的客户端行为完全一致;在服务器上对于所述随机种子对应的客户端的所有计算,均使用该随机种子进行计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门极致互动网络技术股份有限公司,未经厦门极致互动网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011409953.5/2.html,转载请声明来源钻瓜专利网。