StatusUpdateHub adlı bir SignalR hub'ımız var. Bu hub, HubClient adında bir .NET istemcisi tarafından güncelleştirildi. Bu müşteri (üretimde), farklı işlemler için birden fazla kullanıcı tarafından saniyede yaklaşık 1000 kere çağrılacaktır. İşte istemci kodu:SignalR hub ölçeklenebilirlik sorunu
:Unexpected error in UpdateBrowser: System.InvalidOperationException: The connection has not been established. at SignalR.Client.Connection.SignalR.Client.IConnection.Send[T](String data) at SignalR.Client.Hubs.HubProxy.Invoke[T](String method, Object[] args) at SignalR.Client.Hubs.HubProxy.Invoke(String method, Object[] args) at Application.Services.HubClient.<>c_DisplayClass2.b_0(Task task1) in c:\Build\Work\Application\Services\HubClient.cs:line 20
at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
at System.Threading.Tasks.Task.Execute()
public static class HubClient
{
private static readonly string statusUpdateUrl = ConfigurationManager.AppSettings["StatusUpdateUrl"];
private static readonly HubConnection connection = new HubConnection(statusUpdateUrl);
private static readonly IHubProxy hub = connection.CreateProxy("StatusUpdateHub");
internal static void UpdateBrowser(long transactionId)
{
connection.Start().ContinueWith(task => hub.Invoke("UpdateTransactionStatus", transactionId)).ContinueWith(task =>
{
if (task.IsFaulted && task.Exception != null)
{
// log error
}
});
}
}
bu kod gayet iyi çalışıyor fakat 100 eşzamanlı kullanıcı ile çağrılır biz o zaman aşağıdaki hatayı görüyoruz 250 eşzamanlı kullanıcı sayısını artırmak olduğunda
Kodu nasıl daha ölçeklendirebiliriz?
Sunucuda simultanious bağlantılarda herhangi bir şansınız var mı? – Stilgar
Ayrıca, çalışma boyunca hafıza tüketimini mi izliyorsunuz? Sen. Trendlerin ne olduğunu bağlı # bağlı/bağlantısız kullanıcı sayısıyla gördüğünüzü merak ediyorum. Bizim app bazı yayınlanmamış bellek görüyordum ve bunun SignalR veya başka bir şey nedeniyle olup olmadığını merak ediyordum. – ElHaix
@Stilgar herhangi bir limit belirlemedik. Machine.config dosyasında hangi ayarı değiştirmeliyim? –