导航:首页 > 编程语言 > cjava游戏服务器性能测试

cjava游戏服务器性能测试

发布时间:2021-10-25 05:40:39

A. 手机端的游戏,怎么进行后台服务器压力测试

对于游戏后台性能,评测标准不只单单是TPS(每秒处理多少个XX请求),因为当你的游戏服务器上线后,不存在一群玩家只发XX请求的压力场景。所以,游戏后台受到的现网请求压力永远是多场景混合的,在这样的压力下,后台能支撑多少人同时在线,才是一个游戏压测者需要得到的有价值的测试结论。

要得到可支撑的"最大同时在线人数",主要做好2件事:

1、设计你的类现网压力模型
在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a. 各接口的压力比例不变, b.玩家平均每分钟操作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。
对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。
对于b,同样在内测阶段收集玩家平均操作频率。
此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。

2、用压测工具构造出符合压力模型的压力
这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点-同时在线人数。最近腾讯开放平台推出了一款针对游戏后台的压测工具还不错,叫WeTest,建议你看看。

B. 对于c/s架构的游戏 如何测试性能

很多人关心LR在C/S架构上如何实施性能测试,我想根本原因在于两个方面,一是很多时候脚本无法录制,即LR无法成功调用被测的应用程序,二是测试脚本即使录制下来,可读性不强,往往不能运行通过,调试时无从下手,像音视频、电子地图类的测试差不多也是这个问题。
根据我以往的项目经验,LR是可以做到的,因为它提供了Windows Sockets协议,解决方案实施起来简单但需要足够的细心以及一定的判断力、想象力,可参考如下步骤进行:
1、通过抓包工具捕捉客户端与服务器之间的所有通讯。
关键点:IP过滤,端口过滤,报文类型过滤
目的:弄清楚业务操作过程中,客户端向服务器提交的请求原型,以及服务器对我们请求所做的正确响应
2、将过滤后的报文整理成测试脚本。
关键点:Socket的建立与关闭,send buf的整理,receive buf的整理
目的:将抓包获得的报文转成LR测试脚本(提示:选取合适的抓包工具,使得报文能被保存成文档格式;开发小工具,通过报文中的各个关键字抽取报文中 Data Area中的部分作为buf 区的内容,根据IP字段,端口号等特征完成lrs_send,lrs_receive语句的填写。这部分看上去挺难,但只要对报文做好分析,把握规律,编程的事随便拉个开发都可以轻松搞定)
3、调试脚本
关键点:定位错误,添加校验点
目的:使脚本真正可以拿来进行压力测试
这是最难的一个环节,耐心、细心、判断力都体现在此处。每个人处理问题的方式的不同,我只能提供自己的一点经验。
将脚本RUN-TIME SETTINGS中的扩展日志全部打上钩,并且将脚本拿到controller中单用户执行,注意设置好日志路径。
脚本出错后,用EDIT PLUS或其他的文本工具打开log,找到出错行,然后向上逐一对比服务器返回的数据与录制过程中抓包获得的报文。
在这里,我用了一个小技巧,生成buf内容时,使buf的编号与该buf在抓包获得的报文中编号保持一致,比较起来很方便。
如果服务器返回的buf与抓包时的原始数据一致,自然表示该步骤回放成功,如果不一样,则需要具体情况具体对待。就我的经验来说,往往是因为数据唯一性问题或者是关联的问题造成某一步骤返回的BUF为0或-1,从而导致最终脚本失败。
找到第一个出错的地方后,参数化,关联等手段都可以用上了,这里可能需要重复两次抓包过程,先行比较自己发送的报文是否有区别。
总体思路便是如此,写了一堆,也不知道对大家是否有帮助,对于此类问题,网络上的协助很难派上用场,事情还是要在现场才有可能得到解决啊。本来有意将这东西工具化,甚至产品化,但几个项目实施下来发现变数较多,特别是最后一个环节,完全依赖于测试工程师的自身能力,只好就此作罢

C. 游戏后台怎么做性能测试

一、什么是游戏后台性能测试

性能(performance):是系统实现其功能的能力。例如,响应时间、吞吐能力、事务处理数。

性能测试,是指在特定负载情况下,确定系统的响应速度和稳定性的表现。它也可以研究、测量、验证系统的其他特征,比如可扩展性、可靠性和资源使用率。通俗的讲:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求,即在特定的运行条件下验证系统的能力状况。

按游戏构成特点,将性能测试分为客户端性能、服务器性能两大块。楼主问的应该是服务器性能测试吧!

二、性能测试的关键指标

客户端性能的关键指标有:

CPU占用率、内存占用率、流量耗用量、FPS(每秒传输帧数)

服务器端性能的关键指标有:

响应时间、并发用户数、吞吐量等;

三、如何做性能测试

1. 明确测试目标;了解性能测试需求;

2. 编写性能测试计划;

3. 分析性能测试需求;

4. 编写性能测试方案、设计测试场景;

5. 相关资源准备(人力资源、硬件资源、软件资源);

6. 测试程序开发;脚本维护、测试数据准备、测试监控准备;

7. 执行性能测试并收集测试结果;

8. 分析结果;

9. 系统调优及再测试;

针对楼主的问题,推荐你一个服务器压测平台

WeTest性能测试(腾讯游戏官方出品)

腾讯WeTest压测大师支持的性能测试方法

希望能帮助到你

D. 游戏服务器的压力测试应该如何进行自己写机器人还是LR等工具

对于游戏后台性能,评测标准不只单单是TPS(每秒处理多少个XX请求),因为当你的游戏服务器上线后,不存在一群玩家只发XX请求的压力场景。所以,游戏后台受到的现网请求压力永远是多场景混合的,在这样的压力下,后台能支撑多少人同时在线,才是一个游戏压测者需要得到的有价值的测试结论。

要得到可支撑的"最大同时在线人数",主要做好2件事:

1、设计你的类现网压力模型
在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a. 各接口的压力比例不变, b.玩家平均每分钟操作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。
对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。
对于b,同样在内测阶段收集玩家平均操作频率。
此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。

2、用压测工具构造出符合压力模型的压力
这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点-同时在线人数。最近腾讯开放平台推出了一款针对游戏后台的压测工具还不错,在腾讯游戏开发中已经被广泛使用的,现在正式对外,建议你看看http://wetest.qq.com/gaps

E. 如何对游戏服务器进行压力测试

需求分析 - 测试设计 - 脚本编辑 - 场景设置 - 测试执行 - 结果分析

F. jmeter怎么做游戏服务端压力测试

接触JMeter也有超过半年的时间,自我感觉要想测试C++做的服务器的性能是比较无力的。其实我也想知道如何去测试,但是有一点非常明确就是我们可以发送二进制数(可以自定义的结构体或者protobuf,我们都可以通过抓包的方式去把数据抓出来,通过JMeter发送出去)据给服务器,但是服务器回复二进制,JMeter对这个数据如何正确解析,由于我的无知确实目前还没有找到解决办法(另外服务端可能回复的消息不至一条,而且还有可能顺序都不确定,这个如何检测,如果处理?)。

G. 我是做java游戏服务器的新人 要求写个 连接 以及负载测试 不知道该如何下手 求点代码膜拜

public void getUserItemToRemote(final UserItemRemoteBean userItemRemoteBean) {
Runnable able = new Runnable() {
public void run() {
try {
Socket s = new Socket(ip, port);//连接服务器,ip=ip,port=端口
ObjectOutputStream oos = new ObjectOutputStream(s
.getOutputStream());
oos.writeObject(userItemRemoteBean.toStringArean());

ObjectInputStream ois = new ObjectInputStream(s
.getInputStream());
String ms = (String) ois.readObject();
System.out.println("服务器接到" + ms);
} catch (IOException e) {
GoblinComingLogger.SYS_LOG.error("====x=====ip错误=");
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
};
Thread t = new Thread(able);
t.setDaemon(true);
t.start();
}
这就是一个启动一个连接,连接远程服务器

H. 游戏服务器压力测试,要做哪些

以前有过类似的问题 可以参考下:

https://www.hu.com/question/19638763

I. 游戏性能测试如何开展

  1. 首先解释游戏性能测试含义:

    性能(performance):是系统实现其功能的能力。例如,响应时间、吞吐能力、事务处理数;

    性能测试:是指在特定负载情况下,确定系统的响应速度和稳定性的表现。它也可以研究、测量、验证系统的其他特征,比如可扩展性、可靠性和资源使用率。通俗的讲:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求,即在特定的运行条件下验证系统的能力状况。

    按手游构成特点,将性能测试分为客户端性能、服务器性能两大块。

  2. 性能测试的关键指标

    客户端性能的关键指标有:CPU占用率、内存占用率、流量耗用量、FPS(每秒传输帧数)

    服务器端性能的关键指标有:响应时间、并发用户数、吞吐量等;

  3. 如何做性能测试

    明确测试目标;

    了解性能测试需求;

    编写性能测试计划;

    分析性能测试需求;

    编写性能测试方案、设计测试场景;

    相关资源准备(人力资源、硬件资源、软件资源);

    测试程序开发;脚本维护、测试数据准备、测试监控准备;

    执行性能测试并收集测试结果;

    分析结果;

    系统调优及再测试;性能测试五大误区

4.性能测试工具推荐

简单推荐2款工具,分别给玩家和开发者。

1. 玩家:安兔兔等跑分软件
可以快速将app性能跑出一个整体分。但有个致命问题,无法单独查看单独某个功能、某个时间点的具体数值。缺点是无法定位问题。

2. 开发者:WeTest性能测试(腾讯WeTest官方出品)

提供Android版本和云端版本2种性能测试方案,这里着重介绍下本地版本,使用3步即可:

1)打开WeTest性能测试页面下载WeTest App,并安装;

2)运行手机上的WeTestApp,选择游戏后点“开始测试”;

3)上传并查看报告

结束测试后,打开WeTest App点击“上传”按钮。

登录wetest.qq.com点击“我的主页”里面,左侧的“手游测试报告”,在页面中就会出现“性能测试”结果报告,点击查看,就可以查看完整的测试报告;


J. 服务器性能测试中有哪些常用的性能指标

服务器性能测试中有以下常用的性能指标:

【吞吐量】 固定时间间隔内的处理完毕事务个数。通常是1秒内处理完毕的请求个数,单位:事务/秒(tps);

【平均吞吐量】一段时间内吞吐量的平均值。无法体现吞吐量的瞬间变化;

【峰值吞吐量】一段时间内吞吐量的最大值。是用来评估系统容量的重要指标之一;

【最低吞吐量】一段时间内吞吐量的最小值。如果最小值接近0,说明系统有“卡”的现象;

【70%的吞吐量集中区间】通过统计15%和85%的吞吐量边界值,计算出70%的吞吐量集中区间。区间越集中,吞吐量越稳定。

阅读全文

与cjava游戏服务器性能测试相关的资料

热点内容
双击cad文件就启动新软件 浏览:939
有什么登记天数的app 浏览:846
qq性别修改器 浏览:533
rtl8192elinux 浏览:15
手机中qq群怎么改名字怎么改 浏览:621
微信小视频怎么用前置摄像头吗 浏览:572
c语言怎么用编程测标识符的合法性 浏览:815
iphone5s驱动下载 浏览:336
欣向路由器密码 浏览:850
sql数据库对比工具 浏览:575
300ap升级 浏览:981
为什么从邮箱里下载文件会不全 浏览:913
java大数据乘整数 浏览:136
cad打开文本txt文件 浏览:472
征途账号存在哪些文件 浏览:412
天气肇庆市路况工具 浏览:950
怎么导入js文件怎么打开 浏览:517
win8和linux双系统安装 浏览:328
苹果5按屏幕有紫色 浏览:272
qq已失效的文件怎么找回 浏览:63

友情链接