2009-05-29 5 views
0

Nous avons une machine serveur avec une configuration très bonne sur notre LANdes ressources aux processus IIS et les applications standard de Windows

  • 4 Go de RAM
  • 1 To HDD
  • Processeur Quad

Nous pouvons avoir 2 types d'application fonctionnant sur le serveur

  1. Application Web ASP.NET exécutée sous la supervision IIS
  2. Application Windows standard exécutée avec un compte administrateur.

Ma question est de savoir comment les ressources sont réparties entre ces applications. Je sais que l'application Windows peut utiliser des ressources élevées (100% de CPU, 100% de RAM, etc.), mais je ne suis pas sûr de l'accès que les processus asp.net ont sur ces ressources. Il est limité pour eux ou même comme l'application Windows? Aussi, s'il y a une limitation alors comment pouvons-nous contrôler cela.

La raison pour laquelle je pose cette question est de notre application Web, nous voulons exécuter une opération lourde. Quels sont le meilleur moyen de le faire. Dois-je aller pour un Windows Services, MSMQ, ou peut utiliser le compte asp.net?

Répondre

1

Pour répondre à votre première question, dans Windows Server 2003 ou 2008, il existe un élément appelé Windows System Resource Manager, également appelé WSRM, qui vous permet d'allouer des ressources système à des applications ou à des processus. Cela vient avec Enterprise Edition du serveur OS. Juste comment pour allouer des ressources est une sorte d'art noir; vous devrez essayer des choses, tester soigneusement dans toutes sortes de conditions.

Pour votre deuxième question - la meilleure façon de gérer les «opérations lourdes» - Je suppose que la réponse facile il ya dépend. Il existe de nombreuses approches différentes et elles répondent à des exigences différentes. MSMQ peut être utile pour la mise en mémoire tampon des demandes de travail afin d'activer le traitement en dehors des heures de pointe. WSRM peut permettre l'allocation et le rationnement des ressources du système. Ces deux peuvent être complémentaires, ou vous pouvez les voir comme des alternatives.


En ce qui concerne ASP.NET et Windows Services: ASP.NET va évidemment être surtout utile pour les demandes basées sur un navigateur, mais aussi peut-être pour les demandes de type REST (ou similaire) d'autres systèmes. Les applications ASP.NET s'exécuteront sous le processus de travail w3wp.exe, qui est géré par IIS.

Windows Services est un moyen de créer des applications personnalisées qui s'exécutent sur votre serveur Windows, ce qui peut ne pas être le cas. être basé sur une requête. Un exemple pour votre scénario pourrait être un service Windows qui démarre selon un horaire, disons à 22 heures tous les soirs, et parcourt toutes les transactions en attente qui se trouvent dans MSMQ. Lorsque la file d'attente est vide ou à 4h du matin, selon la première éventualité, le service Windows s'arrête. Un service Windows ne bénéficie pas des avantages de la gestion des processus IIS.

La ligne de fond, les services ASP.NET et Windows offrent différentes alternatives pour l'hébergement de processus ou d'applications et la gestion du cycle de vie.


Ceci est seulement une information générale. Pour obtenir des conseils plus spécifiques et concrets de cette communauté, vous devrez faire une demande plus spécifique que "comment puis-je faire du traitement lourd?"

Questions connexes