信号器/重新连接花费的时间太长

bor*_*mez 5 c# asp.net signalr-hub

我有一个在天蓝色云上运行的应用程序,当前在单个节点上。该应用程序工作正常,但查看日志我可以看到有时信号器操作(例如连接或重新连接)需要非常长的时间:

请求 —— 时间(毫秒)

GET /signalr/reconnect--26,132,725.3971
GET /signalr/connect--6,845,497.6311
GET /signalr/connect--6,037,805.5604
GET /signalr/connect--4,892,617.2957
GET /signalr/reconnect--3,432,113.4963
GET /signalr/reconnect--3,222,554.4094
GET / signalr/reconnect--3,154,466.1479
GET /signalr/reconnect--3,120,839.3401
GET /signalr/reconnect--3,115,460.5552
GET /signalr/reconnect--2,170,759.2398
...

我觉得这次不正常,所以我想我可能做错了什么。我正在使用集线器来稳定信号器,并且不会覆盖任何集线器类方法。仔细查看日志,我可以发现所有耗时的请求都是针对极小部分客户端发出的,大约两百个中只有五个。

在客户端,我使用以下代码管理连接端重新连接:

    var hub = $.connection.hub,
        serverEventsHub = $.connection.serverEventsHub,
        server = serverEventsHub.server,
        client = serverEventsHub.client;

    hub.disconnected(function () {
        window.setTimeout(function () { 
            hub.start();
        }, 5000);
    });
   hub.start();
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么有时这些请求需要这么长时间?