作者:广东在线游戏网日期:
返回目录:游戏解答
既然你是做游戏测试的,那就用游戏来说吧。
一般来说用来玩游戏的百那个电脑就是客户端;或者再细点,就是运行游戏的那个程序或者说软件就是客户端。
后台是相对于度客户端来说的,就是对游戏进行常规设置、修改、监控及管理的的程序。
服务器就是用以安装、运行后台程序的电脑。由于要安装数据库及处理很多交换数据,它的硬知件配置和操作系统一般与日常使用电脑系统的有些区别。一般来说,如果不打算在服务器上运行客户端的话,该机器对显卡是不做要求的,但对CPU、内存、硬盘的要求比普通电脑高道的多。
对于你来说,如果做的是单机游戏测试,那么无所谓服务回器、后台之说。如果是测试网络游戏,多人测试的话是一定要配个服务器的,如果人不多,用个稍微答好点的电脑就可以了,否则就要单买一台服务器了;如果是单人测试。那就把后台和客户端都装一台电脑上就好,机器配置稍微高点就行。
对于游戏后台性能,评测标准不只单单是TPS(每秒处理多少个XX请求),因为当你的游戏服务器上线后,不存在一群玩家只发XX请求的压力场景。所以,游戏后台受到的现网请求压力永远是多场景混合的,在这样的压力下,后台能支撑多少人同时在线,才是一个游戏压测者需要得到的有价值的测试结论。
要得到可支撑的"最大同时在线人数",主要做好2件事:
1、设计你的类现网压力模型
在现网真实压力里,不论压力大小如何变化,现网环境如何变化,一个游戏类型和玩法设计定型后,永远有2个压力宏观数据保持不变:a. 各接口的压力比例不变, b.玩家平均每分钟操作频率不变。因此,压力测试目标就转变成了如何模拟符合ab数据的压力。
对于a,首先从同类型游戏或者本游戏内测阶段,日志插桩,收集各个接口的调用比例;然后,将接口比例转化为场景比例,如同时会有个2%完结登陆、15%玩家战斗、20%玩家拉取好友列表、10%玩家赌博(一个手游场景例子)。
对于b,同样在内测阶段收集玩家平均操作频率。
此时有了a和b,就可以构造出一分钟内玩家同时在线的真实压力模型了。
2、用压测工具构造出符合压力模型的压力
这个可以自己写,也可以使用现成的压测工具。现在市面上的压测工具很多,但很多都是专注于TPS这个参数,不符合游戏行业压测的关注点-同时在线人数。最近e68a84e799bee5baa6e79fa5e98193334腾讯开放平台推出了一款针对游戏后台的压测工具还不错,叫WeTest,建议你看看。
public void getUserItemToRemote(final UserItemRemoteBean userItemRemoteBean) {
Runnable able = new Runnable() {
public void run() {
try {
Socket s = new Socket(ip, port);//连接e799bee5baa6e78988e69d83337服务器,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();
}
这就是一个启动一个连接,连接远程服务器
一、什么是游戏后台性能测试
性能(performance):是系统实现其功能的能力。例如,响应时间、e799bee5baa6e59b9ee7ad94334吞吐能力、事务处理数。
性能测试,是指在特定负载情况下,确定系统的响应速度和稳定性的表现。它也可以研究、测量、验证系统的其他特征,比如可扩展性、可靠性和资源使用率。通俗的讲:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求,即在特定的运行条件下验证系统的能力状况。
按游戏构成特点,将性能测试分为客户端性能、服务器性能两大块。楼主问的应该是服务器性能测试吧!
二、性能测试的关键指标
客户端性能的关键指标有:
CPU占用率、内存占用率、流量耗用量、FPS(每秒传输帧数)
服务器端性能的关键指标有:
响应时间、并发用户数、吞吐量等;
三、如何做性能测试
1. 明确测试目标;了解性能测试需求;
2. 编写性能测试计划;
3. 分析性能测试需求;
4. 编写性能测试方案、设计测试场景;
5. 相关资源准备(人力资源、硬件资源、软件资源);
6. 测试程序开发;脚本维护、测试数据准备、测试监控准备;
7. 执行性能测试并收集测试结果;
8. 分析结果;
9. 系统调优及再测试;
针对楼主的问题,推荐你一个服务器压测平台
WeTest性能测试(腾讯游戏官方出品)
腾讯WeTest压测大师支持的性能测试方法
接口测试
接口的性能评估,给整体做参考
场景测试
登入场景,战斗场景。游戏关键性的业务测试
容量测试
用于评估服务器可承载能力,给上线需要的硬件数量配备做参考
稳定性测试
用于验证服务器长期运行的状况
调优
性能瓶颈分析,定位,系统优化
希望能帮助到你