信号器-消息总线内存消耗过多

dtcbnfnu  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(462)

我正在尝试在我的应用程序中使用redis背板来扩展signalr(microsoft.aspnet.signalr.core 2.4.1)。
但正如我所看到的,redismessagebus消耗了大量内存(可能会泄漏)。在白天,它从200 mb增长到1 gb(大约5小时)
我尝试将defaultmessagebuffersize设置为100(或更小),但似乎没有帮助。

public void Configuration(IAppBuilder builder)
        {
            GlobalHost.Configuration.DefaultMessageBufferSize = 100;
            ...
            builder.MapSignalR(SignalRServicePath, hubConfiguration);
        }

在那一刻,我不知道为什么会这样

问:你能帮我解决这个问题吗?或者说你能深入了解这种行为的原因吗?





更新。在signar源代码调查之后,我发现实际上defaultmessagebuffersize只设置了初始的默认消息缓冲区大小,但没有限制它。
因此,如果对服务器端singlalr hub有大量的输入请求,hub就不能处理这些请求并及时将它们发送给订户。我相信这是内存消耗持续增长的根本原因
问:是否可以限制signalr messagestore的最大大小(每个连接,主题)?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题