2012-01-09 25 views
0

我需要设计一个系统,可以在每台机器上通过HTTP每秒处理200K请求。 wcf服务需要在win服务下托管。 我想知道wcf是否可以处理这样的要求? 什么是最佳系统设置/最佳配置?我该如何处理每秒200K请求在wcf

机器本身是相当沉重32G RAM和8芯(或更多),并且如果需要

我可以在每个单独的机器使用HTTP WCF处理的请求,诸如量可以升级?

+0

当系统收到请求时,系统会做什么? – 2012-01-09 06:58:10

+2

仅用于比较,谷歌[估计](http://searchengineland.com/by-the-numbers-twitter-vs-facebook-vs-google-buzz-36709)每秒处理34,000次搜索。一些粗略的计算:在一台机器上有大约60k个端口可用于连接。所以你永远不会有这么多的并发请求。所以如果请求接近0.3秒来处理你的端口数量最多。老实说,我不认为,你可以在一台机器上处理很多请求。 – Andreas 2012-01-09 07:14:22

回答

3

在单台机器上这样做可能会非常困难(如果的确有可能)。最好让你的系统水平放大,这样你可以根据需要添加大量的机器。你怎么做取决于你的系统实际需要做什么。如果这是一个简单的计算,不需要持久的状态,它不应该太难。如果你已经与某些需要在每个请求上读写的表单进行一些交互,那将会更加困难 - 选择持久性技术可能是将它们全部挂在一起的关键。

请注意,水平伸缩还有其他好处 - 特别是无需任何停机时间(如果您小心)升级系统并消除巨大的单点故障的能力。

0

您需要提供更多信息。

您是否收到请求并需要立即处理?
您可以存储请求数据并将处理委托给其他线程/进程吗?有没有办法将系统扩展出来而不是起来?
这实际上是你可以部署东西的唯一基础设施吗?

我会首先询问在请求处理过程中我想做什么。那么瓶颈将会是什么。