当前位置: 首页 > 面试题库 >

请你对吃鸡游戏进行压力测试

洪伟彦
2023-03-14
本文向大家介绍请你对吃鸡游戏进行压力测试相关面试题,主要包含被问及请你对吃鸡游戏进行压力测试时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

一. 首先明确需要测试压力的内容:

  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.多连接处理

二. Windows Server环境测试方式

  1. 服务器性能监测

    使用Server自带的性能监测器设置各个进程的监测参数。Window的这个自动工具做的相当强大。大家自己摸一摸基本就会用了。每个参数都由详细的说明。

  2. 案例设计注意

    a.对于数据库的性能测试上,现在由于所有的游戏服务器构架在DB前面都有一个实现DB缓冲功能的进程,以减少数据库频繁的读写操作。所以其实数据库的读是一个轻量级的数量;而数据库的写操作是一个周期性能过程。案例设计一定要能够驱动这种周期性能过程。比如我们游戏的战斗,导致游戏玩家数据的改变,或驱动所有在线玩家数据的周期性存储。

    b.选择具有代表性,并且最频繁的游戏操作。用于进行最高用户在线的各种性能指标采集。如,开枪、道具拾取、道具使用、移动、聊天

    c.聊天性能测试

    广播聊天是最为考验游戏信息发送能力的功能。通过进行全局广播的压力测试。我们可以获取服务器进程发送信息到客户端的最高承载量。进而可以对我们的各种广播功能进行一个预估和频率限制。

    d.同屏玩家的移动测试

    移动+广播。这两种信息,基本是网络游戏流量的70-80%左右。同屏玩家数量,将会增加各种数据的广播需求,非常影响游戏性能。所以同屏的移动测试也是广播测试的一个必要环节。需要根据实际结果进行适当的优化。

    e.大量玩家同时登录测试

    玩家登录时,有大量的信息需要进行分配和初始化;同时也有大量的数据需要下传客户端。服务器需要进行大量的TCP连接建立。所以是一个比较关键的过程。这个测试案例是一个比较特殊,但是运营是肯定会碰到的案例。

    f.由于线程池处理事务,随着事务的时耗,存在一个最优线程数的问题。过多的线程反而会降低服务器效率

  3. 细节问题

    a.进行测试需要仔细思考客户端性能影响服务器最后表现的可能性。比如

    a1.模拟客户端的性能无法有效处理服务器返回信息,可能就导致服务器发送的信息缓存在服务器系统缓存,从而表现出服务器内存不断增加。表现为服务器发送能力不足,其实可能根本就是客户端的性能问题

    a2.客户端性能问题,导致发起的请求数过少,从而导致单位时间内服务器处理的请求过少。表现为服务器性能不足,其实根本就是客户端的请求能力不足。

    b.网络带宽导致最后表现不足

    b1.确认服务器的各个网卡,以及相互的带宽。不然可能因为相互带宽,导致服务器对于客户端请求的处理延时。表现为服务器卡机

    b2.客户端模拟多个玩家,比如1000个玩家。而客户端的网卡或者客户端与服务器之间的中转服务器带宽过小,导致服务器数据发送不出,内存不断增加。表现为服务器发送能力不足,其实是中间带宽问题。

    c. debug i/o导致服务器性能下降

    c1.进行性能测试,一定要取消debug用的同步的i/o.比如我们服务器的debuginternalLog.同步i/o是非常影响性能的,特别在压力测试下可能导致每秒上千上万甚至几十万次的执行。一处的文件写入操作就可以导致几十万次的处理能力变成几千次的处理能力。

    c2.客户端避免进行阻塞操作导致模拟多用户性能下降,导致服务器表现性能下降

    d.流量需要区分内网外网

    内、外网流量在游戏正式运行时是完全分开的。价格也是完全不同的。一个千M的外网是一个无法想象的运营成本,而kmbps/s现在已经是一个可以接受的代价。游戏进程需要进行不同网卡的配置和绑定。确定内外网流量。

 类似资料:
  • 问题内容: 我正在尝试使用的插件(jmeter- websocket )对服务器进行压力测试。关键是该插件没有附带文档说明如何使用它,因此我不确定是否支持我的期望。 我设法使用提到的插件运行了一个示例测试,它已成功连接到服务器。它也设法与服务器进行通信,但是一旦完成接收到第一个响应,它就会断开连接。我希望以某种方式配置此插件,以便它将与服务器保持持久的连接几分钟,在断开连接之前发送和接收一些消息。

  • 压力测试很有趣,一开始好像压测的目的是找出系统在负载下能不能工作。现实中,系统在负载下确实能工作,但在负载足够重的某些情况下不能工作。我把这叫做碰壁或撞响[1]。可能会有例外,但大多数情况下会有这么一堵“墙”。压测的目的是为了指出墙在哪里,然后弄清楚怎么把墙移得更远些。 压测计划需要在工程的早期就规划好,因为它经常有助于弄清楚到底什么是被期望的。两秒的网页请求是一个悲伤的失败还是一个了不起的成功?

  • 本文向大家介绍请问你有没有做过压力测试相关面试题,主要包含被问及请问你有没有做过压力测试时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个Web 站点在大量的负荷下,何时系考察公司:网易 统的响应会退化或失败。网络游戏中也常用到这个词汇。

  • 一面: 1.都是一些很简单的问题,问我玩过那些游戏, 2.我说玩过刺客信条,然后让我评价一下这款游戏 3.其他的都是一些很简单的问题 二面: 1.上来直接问问题了,问我自己觉得有哪些缺点,有哪些优点 2.然后是这个岗位应该具备什么 3. 什么时候能来入岗 三面没有去参加 这个审查时间周期比较长。每次面试完,面试完都会说,面试结果在三天之内会有结果,如没有通知,就是不合适了。 因为审查时间较长,所以

  • 我必须在一个网站上对500名用户进行压力测试。我如何接近这个。我需要控制的命中/秒Jeter使服务器或我只需要斜坡上的线程,让它做任何它能做的最大命中。我的用户步骤应该是什么延迟(例如:一个用户/线程每15秒或20秒启动一次)。样本之间应该有什么延迟。 提前感谢。

  • 问题内容: 是否可以对Android系统进行压力测试,以检查如果可用内存减少(以及因此杀死了哪些应用程序,…)会发生什么情况。 我目前有一个测试应用程序,该应用程序会定期在向量中分配10MB。但是,抛出OutOfMemory异常达到500MB。但是被测系统没有受到足够的影响。我需要获取更多的内存。 是否有任何已知的库/程序要使用,或者有其他任何方法可以使应用程序使用超过500MB的内存。 补充:我