又崩溃了!服务器:“怪我咯?”
某公司新开发了一款大IP手游。上线之后不久,发现几十个人上线之后服务器就崩溃了。一开始还能用大量预算来购买服务器用以支撑,但几天之后由于宣传火爆,随着用户的增多,这才发现单纯增加服务器的成本实在太高了。玩家开始逐渐骂服务器垃圾,各种掉线、卡顿、crash。本想领先竞品抢先进入市场,结果收获的却是满怀期待玩家们的流失。为什么!因为没有做压力测试!
一.为什么游戏服务器要做压力测试呢?
一款好的网络游戏除了完美的研发之外,还需要足够大的带宽和高性能的服务器作为有力后盾。服务器主要承载游戏过程中玩家之间的交互所产生的流量。而压力测试则是将各种因素考虑到极点来对服务器进行专业性和系统性的测试,以便较大程度上改善系统的瓶颈和了解服务器承载量,所以游戏上线前是非常有必要对服务器做一次完整专业的压力测试的。
二.压力测试要测些什么数据呢?
明确了压力测试的重要性,可如果让我来做压测,我该测试哪些要点呢?
服务器压测主要关注以下几点:
1.单个服务器进程的CPU使用率
在压测过程中统计该进程在运行过程中CPU使用率的变化情况,可以根据时间点来判断进程在运行过程中CPU占用是否合理,太高可能存在资源风险,太低的话资源利用率不足。
2.单个服务器进程的内存使用率
观察进程运行过程中的内存利用率可以初步判断进程是否存在内存泄漏的风险。开发人员可以依据压测整个过程中内存使用率的走势,判断出内存变化是否合理,对于不太合理的情况再使用valgrind或者其他工具来定位出内存泄漏的代码。
3.整机CPU的使用率
比较合理利用机器CPU资源的方案是让整个机器的CPU利用率保持在一定范围内,不要一直太高或太低。
4.整机内存使用率
观察整机内存使用率变化可以检测机器内存在高压力时是否吃紧,以便及时调整硬件资源配置。
Game Cache数据节点的磁盘IO瓶颈
5.事务的处理能力
观察事务成功率、TPS以及响应时间可以估算该服务器的合理上线用户数,以保障用户的游戏体验。
三.怎么去做压力测试呢?
我是名测试人员,通常我的工作流程是“编写测试用例”--“执行测试用例”--“生成结果”。
今天来了份压力测试的任务,怎么做呢?先来个简单的场景吧,“登录--开始战斗--结束战斗”,找开发要协议文件,无从下手。找其他同学咨询,他们觉得这些场景还挺复杂的,市场上现有的工具大都无法很好的完成测试用例。这可怎么办。。
现在好了,专业的游戏服务器压力测试工具——腾讯WeTest服务器压测工具,就要对外开放服务了,终于找到了途径来解决压力测试了!
四.腾讯WeTest服务器压力测试能为我提供些什么呢?
腾讯WeTest服务器压力测试主要是性能测试方向以及手动测试不能测试或比较难测的地方。
目前腾讯WeTest压测除了能够在性能测试的过程中收集各项数据,包括CPU、内存、磁盘、网络、TPS、成功率以及延时等,同时还可以测试系统在极端情况下的运行状态。
相对于其他的压测工具,腾讯WeTest压测主要有以下几个优势:
1、实现了一套异步非阻塞的性能测试解决方案,开发了内置lua解释器,使测试框架与用户定制的机器人行为轻度耦合。
2、采用内置协议模块,自动支持http等标准协议和自研非标准协议。
3、采用压力源区域自动适配技术,可根据用户主机在腾讯云中的区域,自动选择合适区域的压力源,从内网输出压力,达到压力流量峰值。
4、采用自适应分布式压力源,可以自动在多压力机对同一被测机分布式发起压力,达到较高压力值。
5、采用自动化建议反馈,除输出基本的压测性能数据外,还自动化对结果数据进一步分析并给予反馈建议,让开发者深度了解自身后台服务的问题。
压力测试已正式开放预约,快点击左下角【阅读原文】使用吧!
腾讯WeTest官网: http://wetest.qq.com/
腾讯WeTest是腾讯游戏官方推出的一站式游戏测试平台,与全民突击、天天酷跑、全民超神等精品手游强强联手深入合作,十余年来不断为游戏提供优秀测试方案和测试工具,是推动腾讯游戏研发效率不断提升、对游戏开发的全生命周期进行质量保障的重要平台
扫一扫关注腾讯WeTest微信公众号
回复“礼包”还有更多惊喜