信号灯性能发生巨大变化的原因?

时间:2012-08-03 22:15:15

标签: performance azure signalr

我编写了一个基本的信号器集线器,它接受来自客户端的呼叫,更新数据库,然后向所有客户端发出通知。

public class ElementHub : Hub
{
    public void RenameElement(Guid elementId, string elementName)
    {
        //save details of rename

        //notify clients
        Clients.elementRenamed(elementId, elementName, DateTime.Now);
    }
}

这在我的开发机器上完美运行 - 所有更新都是即时的(足够近) - 但是当我将其发布到Windows Azure网站时,我开始看到一些奇怪的行为。

发布后,通过集线器的第一个通知仍然非常短暂 - 可能是一秒钟的延迟。但第二次通知有时会延迟30秒!

我在通知中包含了服务器时间戳,因此我可以确认服务器响应速度足够快。这个问题大概是在交通工具的某个地方。

我是信号员的新手,所以我甚至不知道在哪里看。任何人都可以建议可能导致此行为的原因或我如何调试它?

1 个答案:

答案 0 :(得分:6)

现在有一个关于缓冲和Azure网站的错误,请参阅http://github.com/SignalR/SignalR/issues/510。你现在可以通过使用longpolling来解决这个问题。我们正在努力解决这个问题。