首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高性能服务器-我应该使用什么?

高性能服务器-我应该使用什么?
EN

Server Fault用户
提问于 2011-04-19 21:58:28
回答 4查看 334关注 0票数 0

我有一个大型游戏引擎,服务于手机客户端和一个网站。DB是MSSQL2008,引擎是使用C#编写的。

网站是用ASP.NET MVC构建的,移动电话的web服务也是基于ASP.NET MVC构建的(可能会迁移到WCF或纯套接字服务器)。

网站和web服务位于IIS 7服务器上,DB位于专用服务器上。两者都连接在本地快速局域网上。

该游戏需要每个用户的实时响应(低于1秒)。当我对该服务进行一些负载测试时--在大约250个用户上,它似乎达到了1秒的响应( 50,大约200 at)。它应该支持超过10000连接的用户。(我猜是服务器复制)。

我想再增加一个层-一个专门的游戏网络服务的实时服务器。我听说Python可以用来构建非常高性能的服务--添加这个层会是个聪明的主意吗?(该层应该有内存中的临时数据库,以服务于实时播放器,然后每隔X秒将其全部转储到后端DB )。

我的建筑好吗?如何才能改善这种情况?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2011-04-20 00:50:54

我可以与Server部件对话。

你有什么硬件规格?您正在使用的Server版本是什么?虽然您可以向框中添加更多内存,并将数据保存在内存中,但该解决方案不会在一段时间后进行缩放。如果您想要为许多用户进行扩展,您需要在这里使用大量的良好实践。

通常的瓶颈是内存、IO、CPU。

  1. 拥有更多的记忆是有帮助的。
  2. 拥有良好的磁盘系统RAID 10确实有帮助。将数据和事务日志分离到单独的纺锤体上是一种良好的做法。根据IO的数量,将tempdb移动到它自己的纺锤体上,并查找瓶颈。它是否受到IO或分配瓶颈的约束。使用跟踪标志TF 1118和许多tempdb数据文件有帮助。
  3. 预先分配数据和日志文件,这样它就不会在正常的业务操作中自动增长。
  4. 在做了一些尽职调查之后,从好的模式+良好的代码开始。糟糕的代码是糟糕的代码,垃圾输入是垃圾输出,不管您使用的是哪个平台。
  5. 了解索引结构,并有良好的索引维护计划(更新统计数据)
  6. 使用大量数据负载测试sql代码。
  7. 查看如何识别Server中的瓶颈和性能问题。等待统计和虚拟文件统计在这里非常重要。根据cu、逻辑IO和高执行计数来确定哪些过程是昂贵的。看看缺少的索引DMV。学习读取Server计划缓存中的数据。
  8. 查看即时文件初始化
  9. 这里还有很多其他的事情,很难把它们都列出来。这是一个很好的起点,但它并不是一个详尽的清单。

参考文献:http://dl.dropbox.com/u/13748067/SQL%20Server%202008%20Diagnostic%20Information%20Queries%20%28April%202011%29.sql

http://www.sqlskills.com/BLOGS/KIMBERLY/category/Indexes.aspx

http://www.sqlskills.com/BLOGS/PAUL/category/Indexes-From-Every-Angle.aspx

http://www.datamanipulation.net/sqlquerystress/

票数 2
EN

Server Fault用户

发布于 2011-04-20 00:04:12

我觉得你应该问问自己,瓶颈在哪里。

  • 大多数情况下,server是磁盘IO的硬使用者;这本身就是一个优化的整体主题(数据库模式、server等)。您可能需要使用SQL探查器。
  • 您是否使用使用Web服务的状态机制?如果使用,是否使用SQL server来保留该状态--这可能是性能问题。
  • 您是否尝试过分析您的.Net代码和SQL查询代码?
  • 您是否在SOAP上发送二进制块,二进制内容需要在base64中编码--这可能会导致与SSL相同的开销(网络和带带);
  • 您是否自问过使用WebService/SOAP以外的较少语言的协议;可能是HTTP/JSON协议,甚至是自定义的二进制协议。
  • 构建python代理是一件有趣的事情,但我非常肯定,您可以使用.Net和Windows实现类似的概念,但您也可能会问自己,从那时起,如果您需要对整个事件进行集群,就需要在其上添加更多的同步和健壮性(防崩溃)功能。
票数 6
EN

Server Fault用户

发布于 2011-04-20 00:56:54

该游戏需要每个用户的实时响应(低于1秒)。

这些是移动电话用户,服务质量不同(3G/3GS/4G/wi)、接收、延迟、抖动、碎片等,您期望的是< 1s响应时间吗?你有没有用一部手机测试过这个,更不用说几百部了?

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/261484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档