暂时未有相关云产品技术能力~
一个混迹游戏行业十几年的测试开发,目前主要做手游的专项测试工作。主流的开发语言虽然都有所了解,但目前仍处于学习阶段。
从上图可以看到响应客户端请求的协议格式与客户端请求的格式很类似,除了首行稍微不一样外。首行称为状态行,其格式为:[HTTP协议版本][空格][状态码][空格][消息][\r\n]。其中状态码是一组三位数组成的数字代码,具体介绍可以百度百科,常见的有200,400,404等等。跟在状态码后面的响应消息是与状态码对应的文本描述。 实体头部数据格式完全与请求的头部格式一致,里面包含了服务器相关的信息,以及支持哪些功能和特殊的内容。
一、前言 上一篇文章已经搭建了一个简单的http的网络服务器,可以接收浏览器的请求并简单响应。这期开始介绍http协议的具体格式以及如何解析,通过理解http的协议格式,就可以正确识别出客户端的请求内容,并根据对应的处理方法做出正确的响应。
一、前言 使用Python可以很方便的搭建一个网站,有很多现成的Web框架可以使用例如:Django,Tornado,web.py,web2py,Flask,Bottle等等。我几年前使用Tornado框架为项目做过一个多人协作的管理平台,后来为了想深入学习就自己写了一个简单的Web框架,并在新项目中投入使用已有1年左右,虽然没有上面提到的那些框架那么强大,但也勉强够用。这次刚好有时间做一个简单的记录。
一、前言 之前在写工具的时候,产生了一个实现局域网协作功能的想法,刚开始准备采用TCP协议实现C/S模式的局域网广播通信方式。后来经过一番的搜索后发现可以使用局域网多播技术实现,这个技术上手不难,经过几天的捣鼓,最后顺利完成,因此分享给大家。
一、前言 有时候写的工具需要在控制台中输出日志等信息,尤其是运行在Linux系统下的工具,交互操作都只能在控制台中进行。看久了单调的信息输出后,总想来点不一样的。经过一番搜索和简单研究后写点东西记录一下。 让控制台的内容动起来其实相对简单,首先是清除控制台已输出的内容,其次根据动画的数据输出新的内容,然后重复上面的操作就可以得到动画效果。我也刚开始学习,写了一个简单类似柱状图的动态程序如下图。
一、引言 在做游戏服务器性能测试的时候,我们需要通过一些指标来判断服务端是否存在性能问题,由于绝大多数的服务端都是架设在Linux服务器上,因此本篇是以Linux系统为前提,简单介绍常用的性能指标。 二、服务器指标 现如今的游戏服务器一般为分布式架构如图1。一个区的服务端由多个节点组成,通过这些节点来完成复杂的业务功能交互以及扩大人数承载。并不是每个节点都会占用一台物理机,通常是一个区的节点都放在一台物理机上(多区公用的除外)。这样每个节点进程就不能完全独占CPU,内存,网络等资源。而进行服务器性能测试也就是确保这些节点能够在一台机器上满足预定的设计要求。
一、前言 我有一次在用Python开发项目工具的时候,需要用到一个加解密的模块。但是这个模块是纯C实现的,而且也是项目自己实现的算法,不可能有现成的Python库可以使用,当然我也不能用Python再写一遍。因此就想用Python调用C的接口,通过面向搜索引擎编程,找到了Python可以使用ctypes调用dll的方法,经过一番折腾后成功搞定。本篇文章特此记录一下之前学习的内容。
在经历了多个项目后,发现总是会有一些工具会被重复开发。不同项目的流程不尽相同,在工具的需求上总会有一些变化。所以在开发工具的时候就需要适当的预留一些可扩展的接口,方便工具复用和适应变化。因此我准备将曾经开发过的一些工具进行整理记录在此,方便以后查阅。 一、导表工具 游戏项目的配置数据(产品数据)基本上都是通过Excel进行配置,然后使用工具导出为lua,json,xml等格式的文本文件,然后供客户端和服务端读取使用。正如刚开始所说的那样,由于不同项目对配置文件的格式需求不太一样,因此必须开发适合的导出配置工具。
一个好的服务器架构在设计时不仅需要根据游戏类型和业务需求来评估,还需要将容灾考虑进去,以下罗列了一些容灾相关的指标(非完全): 节点不能存在单点故障,即某个节点宕机后不影响其他节点的正常运行,当宕机节点启动后,可以重新连接至其他节点并正常处理业务功能。 节点需要支持可快速拉起,即某个节点宕机后可以快速被重新启动,并且业务功能和关联的节点能够正常接入而不受影响。 服务的数据丢失不可超过5分钟,且核心数据(或关键数据)不可丢失必须及时入库,最好还可以支持通过日志或者其他形式的记录进行数据的快速恢复。
游戏服务器性能测试中会遇到很多的知识点,我也是在努力学习中,在这里把工作中学习到的知识进行一下总结。本篇介绍一下服务器性能测试过程中的一些阀值问题。后续的文章中将持续介绍服务器架构相关,压测工具相关的内容。 网络层的阀值和安全问题 玩网络游戏打本、组队、交流、体验各种交互玩法,都是建立在网络通信之上的。因此有一个稳定服务器是必要前提,而网络层作为最基础、最核心的模块往往需要经过层层考验。下面就是一些网络层会涉及到的问题和阀值相关内容。