也许所有人关于架构及其实现的第一个问题就是它的性能。虽然未经深思熟虑就对架构进行优化是诸多罪恶之源,但是我们也可能设计出一个架构,而它的实现根本不可能达到好的性能。由于Darkstar架构的一项基本选择,这种担心是真实的。而且由于游戏行业的特点,确定服务器基础设施的性能是很难的。
要确定游戏或虚拟世界服务器基础设施的性能,其难度源自一个简单的事实:没有针对大规模MMO或虚拟世界的性能测试标准或共同接受的例子。缺少性能测试标准并不奇怪,因为绝大多数游戏或虚拟世界的服务器组件都是针对特定的游戏或虚拟世界从头开发的。只有少数的通用基础设施可以作为可复用的构建块,这些组件一般是事后从特定的游戏或虚拟世界中提取出来的,提供给其他构建类似游戏的人使用。也许是因为游戏行业还比较年轻,或是因为娱乐业中出现重要技术的偶然性,结果是没有共同接受的性能测试标准用于测试新的基础设施,也无法对不同的基础设施进行比较。
关于游戏或虚拟世界的预期计算、数据操作和通信负载也基本上没有什么资料,所以很难创建性能测试标准程序。部分原因是已有的服务器都是定制的。每台服务器都是为特定的游戏或虚拟世界设计的,所以考虑的是那款游戏或虚拟世界的具体负载特征。而且,这种状况也是因为游戏业的强烈的保密性。在游戏业中,关于一款游戏开发的信息是严格保密的,而且发布游戏的实现方式也是严格保密的。同时,行业中的许多人对这些信息是不感兴趣的。大量的思考和讨论集中在艺术设计、故事情节或玩家交互模式上,这些令新游戏更有趣、更好玩,而不是游戏服务器的设计方式和游戏为支持并发玩家(这个数字也是严格保密的)所采取的伸缩性技术。所以,获得现有的游戏和虚拟世界的这种服务器负载信息都很困难。
根据我们的经验,即使我们能够找来开发者,谈论他们的游戏或虚拟世界加在服务器上的负载,他们也常常会报告错误的信息。这不是因为他们想保持商业优势而故意错误报告他们服务器的情况,而是因为他们真的自己不也了解。在游戏服务器上基本不会加入一些手段,让他们收集有关服务器真实性能或完成事务的信息。对于这种服务器的分析一般最多是经验性的。程序员在服务器上工作,直到它让游戏玩起来有趣,这是一种迭代式的工作方式,而不是仔细对代码本身进行测量。在这些系统中,更多的是手工技术活,而不是科学测定。
这并不是说,这些游戏或虚拟世界后面的服务器是一些粗制滥造的代码,也不是说它们做得不好。实际上,许多代码是效率杰作,展示了聪明的编程技巧,也展示了针对高要求的应用构造一次性、专门目的服务器的优势。但是,为每个游戏或虚拟世界构建一个新服务器的习惯意味着人们不太注意积累构建这种服务器所需的知识,也没有共同接受的机制来比较不同的基础设施。



