我已经开始遇到性能问题,尤其是在升级到2.2.0版之后。
对于使用服务器不同集线器的更复杂页面,启动连接最多可能需要30秒:
[16:20:35 GMT+0100 (GMT Daylight Time)] SignalR: serverSentEvents transport connected. Initiating start request.
[16:21:05 GMT+0100 (GMT Daylight Time)] SignalR: The start request succeeded. Transitioning to the connected state.
为了演示这个问题,我创建了一个测试页面,它只使用一个集线器。我在集线器上调用服务器方法,只检索一个int值,而不进行任何数据库调用或任何复杂的计算。
define(["knockout", "jquery", "signalr"],
function (ko, $) {
function SignalRTestViewModel() {
var self = this;
var connection = $.connection.dashboardHub;
self.init = function () {
connection.server.signalRTest();
};
self.test = ko.observable();
connection.client.populateSignalRTest = function (test) {
self.test(test);
};
}
return SignalRTestViewModel;
})
启动连接仍需要2-3秒,另外2秒只能检索一个int值。
对于不同的传输方法(serverSentEvents,longPolling),问题是相同的,并且存在于所有浏览器中。
我不太确定如何缩小问题范围,以及可能导致这些延误的原因。任何帮助将不胜感激。
答案 0 :(得分:2)
经过大量的调试后,我发现其中一个依赖项已在我的服务中得到解决,每次解析时都会验证Lucene搜索索引(完全没必要)。
评论出来,一切似乎都好。