SignalR在高负载下失败

时间:2011-12-31 01:19:06

标签: c# asp.net .net signalr high-load

我有一个负载非常高的网站,并将我的测试应用程序保存在隐藏的iframe下,以确保目标框架是我的用例的不错选择。首先尝试SignalR测试应用程序,然后在相同的服务器配置下Pokein。目前我们正在使用Flash远程处理解决方案,但很快我们计划对其进行更改。

我花了一些时间来制作基于SignalR的测试应用程序,以便在我网站的高负载下处理并发客户端更新。它在这种情况下运行良好(一些客户端请求消息)..当大多数连接的客户端同时请求消息时,它显着失败(我需要从iframe调用中删除它)..我曾经怀疑我的服务器配置是问题,但同样的情况工作在其他付费解决方案Pokein没有任何问题。

我有忘记的伎俩吗?

2012年2月10日更新: 虽然我们决定在我们的解决方案中实现PokeIn,但我在Github上尝试了最新的SignalR代码(可能对其他人有帮助)..结果是一样的。

March.13.2012更新: 情景:(再一次) - 尝试在给定的时间间隔内向成千上万个连接的客户端发送消息(1秒)。测试和查看结果并不难。我觉得,我是唯一一个强调图书馆这种非常常见用法的人。

详细信息(如何重现 - 使用Github的0.5测试) - Server 2008 R2 32GB DDR3,i7-2600 3.4Ghz,2x256 GB Crucial M4 - ASP.NET 3.5

  • 单页应用。每秒从服务器更新客户端的时间
  • 此页面嵌入到由多个网站加载的隐藏iframe中,以便进行真实的负载测试。

  • 问题

    • 某些时候系统锁定(大约800个用户),大多数客户端无法从服务器获取更新时间

    • 系统锁定后,该单个应用页面停止响应

我也尝试将间隔增加到5秒。这次系统响应更快(约950名用户)但结果相同。我在.NET 2和.NET 4应用程序池上试过这个。

希望这些细节足够。重复这个测试对我来说很容易,一旦我找到空闲时间,我将在未来的版本中重复测试。

0 个答案:

没有答案