web-gelistirme-sc.com

Signalr kullanırken, üzerinde herhangi bir bağlantı sınırı olacak mı IIS

Son birkaç günden beri SignalR'a bakıyorum. Bunu kullanarak bir veritabanı tablosu hakkında gerçek zamanlı bilgi almak için bir Yönetici Paneli oluşturdum. Temelde bu tablo, çeşitli kullanıcılar tarafından farklı kullanıcılar tarafından doldurulur. İyi çıktı. Bu güncellemeler yalnızca istemci Broswer ve WebServer arasında kalıcı bir bağlantı olduğunda mümkündür. Üretimde bu uygulamayı dağıtmadan önce birkaç şüphem var.

SignalR'in önce WebSockets'i kontrol ettiğini, ardından istemci ve sunucu arasındaki uygunluk durumuna göre Long Polling'i aradığını anlıyorum. Kullandığı ne olursa olsun, istemci ile sunucu arasında açık bir bağlantı olacaktır. 

Sorum şu: 100.000 yönetici aynı anda bağlıysa, aynı sunucuya daha fazla kullanıcının bağlandığı senaryoda nasıl performans gösteriyor. IIS bir noktada açabileceği kalıcı bağlantıların sayısı konusunda herhangi bir sınırlama var mı? Eğer öyleyse, bunu maksimum değere ve bu değerin ne kadar olacağına göre ayarlayabiliriz.

Çaylak sorusuysa özür dilerim

ASP.NET MVC3 & IIS 7 geliştirme için kullanılır.

39
Pavan Josyula

GitHub'daki SignalR Wiki'nin Performans Bölümü 'sini gözden geçirmelisiniz. Bu, aşağıdakiler için gerçekten iyi bir rehberlik sağlar:

  • IIS Yapılandırması - Uygulama Başına Maksimum Eşzamanlı İstek
  • ASP.NET Yapılandırması - Maksimum Eşzamanlı İstek ve İstek Sıra Sınırları

Ek olarak, uygulamanızın yük testini yaparken izlenmesi gereken Peformance Counters anahtarını belirtir. Uygulamanızın nasıl bir performans göstereceğine dair bir anlayışa sahip olmak ve özel senaryonuz için gerekli ayarlamaları yapmak için hangi IMO'yu yapmanız gerekiyor?.

Son olarak, SignalR ile istemci yükü oluşturmak için önerilen aracın Krank bölümüne bir bağlantı vardır.

Güncelle: Krank bağlantısı şimdi güncel.

23
Paige Cook

Sağol Paige. İşte benim bulgularım. ASP.NET 4.0, varsayılan olarak CPU başına 5000 maksimum eşzamanlı istek kabul eder. Bunu değiştirmek için bu numarayı bu konumda bulunabilecek ASP.NET Config dosyasında ayarlamamız gerekir. % Windir%\Microsoft.NET\Framework\v4.0.30319\aspnet.config

Ayrıca bu harika PodCast'ı Scott HanselMan http://www.hanselminutes.com/325/aspnet-45-updates-core-webforms-and-signalr-with-damian-edwards

5
Pavan Josyula

Bağlantı limitleri sadece 10 * olan Windows 8/10'da bu durumla karşılaşmanız daha olasıdır. Bu, yalnızca sizi elbette geliştirme sürecinde etkileyecektir - ancak etkin bağlantıları olan çok sayıda tarayıcınız varsa ve 10'u aşması çok kolaysa bu büyük bir acıdır.

* Şu anda, Windows 10'un Windows 8 ile aynı bağlantı sınırına sahip olduğunu doğrulayamıyorum, ancak büyük olasılıkla öyle.

0
Simon_Weaver