nous sommes un client qui a besoin d'obtenir des messages interactifs à partir d'un serveur, des clients qui sont distribués dans le monde entier derrière toutes sortes de pare-feu avec toutes sortes de ports fermés. La seule chose sur laquelle nous pouvons compter est le port HTTP 80 (et HTTPS 443).problème de performance IIS essayant de mettre en œuvre un protocole comme XMPP
La conception est essentiellement calqués sur XMPP (le protocole Jabber), en utilisant notre client et IIS. Le client émet des requêtes GET à un gestionnaire .NET; le gestionnaire maintient la demande ouverte pendant un moment à la recherche de messages. Si des messages arrivent, ils sont immédiatement envoyés au client; sinon, après une temporisation, la connexion est fermée avec une réponse "sans données". Le client rouvre immédiatement la communication.
Eh bien, théoriquement. En réalité, IIS ne peut pas gérer plus de 100 requêtes simultanées. D'autres sont toutes en file d'attente, et il peut y avoir un décalage de plusieurs minutes entre "connected" et IIS reconnaissant que le client a appelé. environ la moitié du temps que le client expire sans aucune réponse du serveur (le délai d'expiration du client est cinq minutes plus long que celui du serveur).
Le POST fonctionne toujours. Les autres données diffusées sur le même serveur Web fonctionnent. Les services Web sur le même serveur fonctionnent. Ceci est une installation prête à l'emploi sur Windows 2K3 Server.
Existe-t-il une option de configuration qui nous manque ou y a-t-il autre chose que je devrais envisager pour résoudre ce problème?
Merci.
"XMPP n'a jamais été conçu pour des applications haute performance." Je ne sais pas ce que vous entendez par «haute performance», mais il a été conçu pour bavarder et il le fait extrêmement bien, ce que demande le PO. ejabberd, par exemple, peut gérer des centaines de milliers de requêtes simultanées. –