游戏服务器压力测试
来源:浮华 时间:2022-06-05 10:35:03阅读:0
在游戏项目上线之前,一般需要对项目进行压力测试,以评估项目的性能瓶颈并进行有针对性的优化;那么如何进行游戏服务器压力测试呢?
一.首先,明确需要测试压力的内容:
1.游戏服务器硬件
a.硬盘I/o
b.内存
c.CPU
2.网络压力
a.长连接
a1.最大连接数
a2.流量(内网、外网、进出)
b.短周期长连接(类似)Http的TCP应用,这个特殊的需求,专门针对LoginAgent)
b1.每秒建立的连接数
b2.实际处理能力
3.数据库
a.每秒事务数
b.每秒锁等待数
c.平均延时(ms)
d.CPU暂用
4.多线程最优线程数
a.多线程由数据库执行
b.多连接处理
二.WindowsServer环境测试方法
1.监控服务器性能
使用Server各过程的监测参数由自己的性能监测器设置。Window这个自动工具非常强大。你基本上可以自己触摸它。每个参数都由详细说明。
2.注意案例设计
a.由于所有的游戏服务器框架都在数据库的性能测试中DB前面有一个实现DB缓冲功能的过程减少了数据库的频繁读写操作。因此,数据库的读取实际上是一个轻量级数量;数据库的写作操作是一个周期性能过程。案例设计必须能够驱动这个周期性能过程。例如,我们的游戏战斗导致游戏玩家数据的变化,或驱动所有在线玩家数据的周期性存储。
b.选择最具代表性和最频繁的游戏操作。用于收集最高用户在线的各种性能指标。
战斗、移动、聊天是我们选择的
c.聊天性能测试
广播聊天是测试游戏信息发送能力的最佳功能。通过对全球广播的压力测试。我们可以获得服务器过程向客户端发送信息的最大承载能力。然后我们可以估计和限制我们的各种广播功能。
d.同屏玩家的移动测试
移动 广播。这两种信息基本上都是网络游戏流量70-80%左右。同屏玩家数量会增加各种数据的广播需求,对游戏性能影响很大。因此,同一屏幕的移动测试也是广播测试的必要环节。需要根据实际结果进行适当的优化。
e.大量玩家同时登录测试
当玩家登录时,需要分配和初始化大量信息;下传客户端也需要大量数据。服务器需要很多TCP建立连接。所以这是一个关键的过程。这个测试案例比较特殊,但是操作肯定会遇到。
f.由于线程池处理事务,由于事务的时间消耗,存在最佳线程数的问题。过多的线程会降低服务器的效率
3.细节问题
a.测试需要仔细考虑客户端性能影响服务器最终性能的可能性
a1.模拟客户端的性能无法有效处理服务器返回信息,可能导致服务器系统缓存中服务器发送的信息缓存,从而显示服务器内存的增加。服务器发送能力的缺乏实际上可能是客户端的性能问题
a2.客户端性能问题,导致发起的请求数过少,从而导致单位时间内服务器处理的请求过少。表现为服务器性能不足,其实根本就是客户端的请求能力不足。
b.网络带宽导致最终性能不足
b1.确认服务器的每个网卡和相互带宽。否则,服务器对客户端请求的处理可能会因为相互带宽而延迟。性能为服务器卡机
b2.客户模拟多个玩家,如1000个玩家。客户端网卡或客户端与服务器之间的中转服务器带宽过小,导致服务器数据无法发送,内存增加。服务器发送能力不足实际上是中间带宽问题。
c.debugi/o导致服务器性能下降
c1.必须取消性能测试debug用的同步的i/o.例如,我们的服务器debuginternalLog.同步i/o它对性能有很大的影响,特别是在压力测试下,它可能导致每秒数千甚至数十万次的执行。一个地方的文件可以导致数十万次的处理能力变成数千次。
c2.避免阻塞客户端,导致模拟多用户性能下降,服务器性能下降
d.流量需要区分内网网
游戏正式运行时,内外网流量完全分开。价格也完全不同M外网是一种难以想象的运营成本kmbps/s现在是可以接受的代价。游戏过程需要配置和绑定不同的网卡。确定内外网络流量。
微云网络IDC提供香港服务器、美国服务器全球海外服务器租赁托管是区域链、直销、流媒体、外贸、游戏等服务器解决方案的首选品牌。
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/fwqjs/10413.html