我有一个大型游戏引擎,服务于手机客户端和一个网站。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 )。
我的建筑好吗?如何才能改善这种情况?
发布于 2011-04-20 00:50:54
我可以与Server部件对话。
你有什么硬件规格?您正在使用的Server版本是什么?虽然您可以向框中添加更多内存,并将数据保存在内存中,但该解决方案不会在一段时间后进行缩放。如果您想要为许多用户进行扩展,您需要在这里使用大量的良好实践。
通常的瓶颈是内存、IO、CPU。
参考文献: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/
发布于 2011-04-20 00:04:12
我觉得你应该问问自己,瓶颈在哪里。
发布于 2011-04-20 00:56:54
该游戏需要每个用户的实时响应(低于1秒)。
这些是移动电话用户,服务质量不同(3G/3GS/4G/wi)、接收、延迟、抖动、碎片等,您期望的是< 1s响应时间吗?你有没有用一部手机测试过这个,更不用说几百部了?
https://serverfault.com/questions/261484
复制相似问题