web-dev-qa-db-fra.com

Lors de l'utilisation de signal, y aura-t-il des limites de connexion sur IIS

Je regarde SignalR depuis quelques jours. À l'aide de cela, j'ai créé un tableau de bord d'administration pour obtenir des informations en temps réel sur une table de base de données. Fondamentalement, ce tableau est rempli par différents utilisateurs de différentes applications. Il est bien sorti. Ces mises à jour sont possibles uniquement en cas de connexion persistante entre le client Broswer et WebServer. J'ai quelques doutes avant de déployer cette application en production.

Je comprends que SignalR vérifie d’abord WebSockets puis recherche une interrogation longue en fonction de la disponibilité entre le client et le serveur. Peu importe ce qu'il utilise, une connexion sera ouverte entre le client et le serveur. 

Ma question est de savoir comment cela fonctionne dans le cas où plus d'utilisateurs sont connectés au même serveur, par exemple 100 000 administrateurs sont connectés en même temps. Est-ce que IIS est limité au nombre de connexions persistantes qu'il peut ouvrir à un moment donné? Si tel est le cas, pouvons-nous configurer cette valeur en valeur maximale et quelle valeur doit être cette valeur?.

Désolé si c'est question recrue

ASP.NET MVC3 & IIS 7 sont utilisés pour le développement.

39
Pavan Josyula

Vous devriez consulter la Section Performance du wiki de SignalR sur GitHub. Cela fournit de très bons conseils pour ce qui suit:

  • Configuration IIS - Nombre maximal de demandes simultanées par application
  • Configuration ASP.NET - Nombre maximal de demandes simultanées et limites de la file d'attente de demandes

De plus, il indique les principaux compteurs Peformance à surveiller lors des tests de charge de votre application. Quelle OMI vous devez faire pour bien comprendre le fonctionnement de votre application et apporter les modifications nécessaires pour votre scénario spécifique.

Enfin, il existe un lien vers Crank , l'outil recommandé pour générer une charge client avec SignalR.

Update: le lien vers Crank est maintenant en cours.

23
Paige Cook

Merci Paige Voici mes conclusions. ASP.NET 4.0 accepte par défaut 5 000 requêtes simultanées maximum par processeur. Pour changer cela, nous devons définir ce numéro dans le fichier de configuration ASP.NET qui se trouve à cet emplacement % Windir%\Microsoft.NET\Framework\v4.0.30319\aspnet.config

J'ai aussi trouvé cet excellent podcast de Scott HanselMan http://www.hanselminutes.com/325/aspnet-45-updates-core-webforms-and-signalr-with-damian-edwards

5
Pavan Josyula

Vous êtes probablement plus susceptible de rencontrer ce problème sous Windows 8/10, qui ne limite que 10 * le nombre de connexions. Bien sûr, cela ne vous affectera que pendant le développement - mais c'est très pénible si vous avez plusieurs navigateurs ouverts avec des connexions actives et qu'il est très facile de dépasser 10.

* Je ne peux pas confirmer pour l'instant que Windows 10 a la même limite de connexion que Windows 8, mais probablement.

0
Simon_Weaver