一款网游产品在上线运营时,遇到的最大障碍是稳定与性能。对于网游产品而言,性能本身表示的不仅仅是一组数字,它更从某种程度上决定了一款产品在单组服务器内的玩家粘性与社区稳定,从而在某种程度上决定了一款产品总体的生命周期。

通常情况下,我们都会知道性能是技术的一大关注点,一般情况下我们是想着先把性能在内部测试环境优化好,然后再放到运营环境实际运行,而实际的情况是:一,在内部服务器的性能测试指标,往往无法真实反映运营环境的性能情况;二,在没有充分准备的情况下,当运营环境的性能出现较大问题时,定位与解决的周期会比较长,会给产品的运营与推广带来较大障碍。
在本次Qcon大会,51CTO对网游行业资深开发者谢廷宝进行了采访,并根据话题整理成以下内容:
51cto:如何综合利用服务器,来节省资源?
谢廷宝:首先,主要的资源包括:CPU,内存,带宽,数据库,这四大资源构成了我们对性能的关注点。在真正处理性能优化的过程当中,最终做的是一个均衡和权衡的工作。例如要提升CPU的速度,就可能是需要一个内存来换或是提高带宽的方法来实现,在处理同一个问题的过程当中,在不同资源之间来权衡,难点在于均衡的策略,如何把握均衡的点,如何做出取舍。
对于一个有自我有要求的团队,或是对于有自我要求的开发者,在平时的开发过程当中就应该注意对性能化化方面的需求。性能的提升不仅仅会带来用户成长量的提升,而且会带动整个团队对于精益求精这种做事方式的推崇。在具体方法上,首先应积累一些性能优化方面的常识,对于阻碍性能提升的作法要尽量避免。其次,要针对整个产品线建立相对完备的一套性能监控、优化框架,在这个框架下,会很容易发现问题所在,只要针对监控出来的问题选择解决方法。具体到代码优化,就涉及到一个方法论的问题,比如说性能总体指标,性能=规模*单次消耗,要做到性能的降低, 不是选择降低规模(次数),就是选择降低单次消耗。要针对不同的函数,不同的算法,不同的调用热点进行单独的具体优化。
51CTO:游戏服务器性能优化与其他行业服务器优化有什么样的区别?
谢廷宝:我的理解是在具体操作方法上,网游服务器与其他服务器优化方法基本一样。只是对于性能本身的障碍,或者说网游服务器性能优化的程度对网游产品更重要,这直接关系到网游产品的生死。比方说,每个网游产品在内测和公测第一天基本上会遇到,服务器负载过大,给玩家带来非常糟糕的体验,从而直接影响产品的衰落。在网游这个领域,一定要把性能优化做好,否则不好的效果会无限放大。
51CTO:您现在做哪方面的工作?
谢廷宝:以前是一直在做客户端的网游,现在正和我的团队网页游戏,与在服务器方面用的技术都是相似的。
51CTO:网页游戏和网游开发模式上有什么区别?
谢廷宝:在服务器的开发模式上没有太大的区别,主要的区别在于对客户端技术的把握。HTML5也是我们关注的一个方向,将来可能会采用它做为我们客户端的模式之一。