最近被游戏性能的瓶颈问题, 搞得胶头烂额, 这里做一个备忘, 供大家共同思考:
1. 不单游戏, 在这个星球上的任何的软件开发, 性能测试,性能分析和性能的优化都是提升性能的根本三步骤;
2. 黑盒发现瓶颈, 白盒发现问题. 性能测试, 除了压力测试(黑盒)外, 在进度允许的情况下, 还应当引入到单元测试和某些模块测试中(白盒),特别是复杂方法, 必须在编码完成后进行性能测试, 这样保证了原子性的操作足够优化,才能保证整个系统的性能足够高;
3. 不管是一个系统, 一个模块,还是一个类, 运行次数和单次运行时间的卷积最小, 都是性能优化的根本目标
4. 并发数, 响应时间,CPU负载,和内存使用率,是服务器端性能的主要指标;
5. 性能分析必须是主观分析和实际测试相结合, 既不能让主观分析变成主观臆想,也要避免进行了错误的测试(方法)导致错误的结论;
6. 无论怎么玩, 游戏压力测试的方式, 也都是那么三种: 机器人模拟;第3方性能测试工具模拟;封测,公测真实性测试;机器人模拟缺点在工作量大,优点是可模拟性强,第3方工具是否能高模拟游戏,还有待验证; 真实测试最靠谱, 但费钱;
7. 玩家的上线, 下线,掉线, 由于涉及到多个服务器的联动(数据库, 场景服, session),具备牵一发而动全身的特点,所以它们是最有可能造成服务器宕机的; 相对而言, 纯粹的正常游戏状态,很难让服务器死掉(除了一些意外的数据操作)
8. 根据以上一点, 除了关键游戏操作(比如战斗和任务), 压力测试的重点,也将是玩家的上线,下线以及掉线;
9. 在实测中我们发现,服务器端的性能瓶颈主要集中在以下位置:
a. 玩家登陆数据加载
b. 实体进入场景引起的数据同步,以及由此引起的可能的外围逻辑;
c. 战斗, 特别是战斗动作的执行和数据返回
10. 以下地方,最底层, 调用运行次数最多, 因而最容易影响性能,它们是否足够简单, 单次运行时间是否足够低, 对整体性能,有着最重要的影响:
a. 实体属性设置, 特别是hp,mp的设置
b. log
c. 事件分发
分享到:
相关推荐
资源名称:php优化的那些事儿 内容简介: 对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。 资源...
目录: 一:软件测试-一般测试场景 二:软件性能测试常见问题“问”与“答” 三:软件安全性测试“Checklist” 四:移动APP测试中的非功能测试 分享方式:免费
这篇文章是下篇,所以如果你对TCP不熟悉的话,还请你先看看上篇《TCP的那些事儿(上)》上篇中,我们介绍了TCP的协议头、状态机、数据重传中的东西。但是TCP要解决一个很大的事,那就是要在一个网络根据不同的情况来...
新能源检测技术材料化学元器件汽车电子热分析实验室仪器温度 相关文档
根据一定的规则,将数字或...事儿一:基于功能和性能测试覆盖评测是对被测试的功能和非功能点的覆盖率分析,是根据测试已经执行的功能点的多少来表示的。这种测试覆盖策略类型广泛的用于各个行业,产品的测试度量中。
我们为什么使用缓存,是因为缓存可以给我们的 Web 项目带来以下好处,以提高性能和用户体验。 加快了浏览器加载网页的速度; 减少了冗余的数据传输,节省网络流量和带宽; 减少服务器的负担,大大提高了网站的...
我曾经历过这样一个项目,当时所在的公司急需上线一套新的系统来替代现有的系统,以满足日益增长的需求,解决现有系统性能、功能瓶颈问题。由于需求时间非常紧,所以领导也来不急前期考察、调研,直接找了一家国内...
最近一直纠结性能分析与调优如何下手,先从硬件开始,还是先从代码或数据库。...单一个中间件又分web...常看到性能测试书中说,性能测试不单单是性能测试工程师一个人的事儿。需要DBA、开发人员、运维人员的配合完成。
移动虚拟化分身大师那些事儿 渐进式动画解决方案 移动互联网时代的VR技术之路 如何利用CPU计算能力实现更沉浸的VR体验 移动分析Crash系统实时化演进与实践 Crash自动分析处理系统 移动项目快速持续交付的工程化实践 ...
浏览器中关于事件的那点事儿 了解Json 和XML 常用CSS优化总结——网络性能与语法性能建议 编程语言 2013流行Python项目汇总 15款Django开发常用软件包 Rails 3 升级 Rails 4 中遇到的问题及解决方法 php性能优化 ...
低频带载相关的那些事儿~ 关于变频器的优点这里就不多说了,太太常见了,今天我们主要聊聊关于变频器低频带载能力。我们都知道,通用变频器采用恒定的压频比控制,其目的是使得电动机的磁通保持一定。这样既...
在机器性能满足的情况下,小信号测的准不准,说到底是要看示波器低噪的。机器贵贱,与测量结果并不直接相关。
Caffeine 提供灵活的构造来创建具有以下可选功能组合的缓存: 自动将条目加载到缓存中,可以选择异步 当超过基于频率和新近度的最大值时,基于大小的驱逐 基于时间的条目到期时间,自上次访问或上次写入以来测量 ...
目前主要在知乎专栏上写内容,多探索点前端那些事儿。版权仅用于学习,研究和交流,版权归于 ,欢迎非商业转载,并在文章开头的明显位置标注转载文章出处,作者即可,违规究。可用脚本在项目目录中,可以运行:npm ...
随着我们生活水平的提高以及国家对信息化建设的推动,大部分家庭的宽带已经进入了高速时代,100-200M到处可见,甚至于500M也不是什么新鲜事儿了,宽带的速率是提高了,不过问题也来了,你家的宽带是否物尽所用?...