Comprendre la gestion des requêtes de SharePoint 2013

SharePoint Server 2013 introduit une nouvelle fonctionnalité appelée Gestion des requêtes (« Request Management »).

Dans SharePoint 2010, il existe une fonctionnalité intitulée Limitation des requêtes qui bloque les requêtes entrantes lorsque les serveurs Web frontaux (WFE) sont devenus trop occupés pour les traiter toutes.

Dans SharePoint 2013, le rôle de la Gestion des requêtes est plus fin car cela permet de personnaliser la réponse en fonction de la nature des requêtes reçues. La nature de la requête reçue peut être l’agent utilisateur, l’URL demandée, ou l’adresse IP source. La Gestion des requêtes s’applique à une application web.

Gestion des requêtes

La gestion des requêtes augmente la robustesse en envoyant les requêtes vers les serveurs WFE en meilleure santé et en préservant les plus faibles. Elle peut aussi envoyer les requêtes les plus gourmandes vers les serveurs WFES les plus puissants.

La gestion des requêtes renforce aussi la sécurité en identifiant les requêtes nuisibles et en les refusant immédiatement. Les requêtes HTTP sont hiérarchisées : La gestion des requêtes SharePoint traite en priorité celles des utilisateurs finaux et, au contraire, elle bloque les requêtes de faible priorité, comme celles des robots.

La Gestion des requêtes peut envoyer des requêtes spécifiques, comme par exemple la recherche, vers des machines spécifiques. Cela permet aussi de résoudre des erreurs en isolant le trafic sur une machine.

Toutefois, la Gestion des requêtes ne remplace pas un mécanisme de balance de charge.

Par ailleurs, une instance de service gère cette nouvelle fonctionnalité de SharePoint. Il n’y a pas d’application de service associée. Les applets de commande Windows PowerShell sont nécessaires pour réaliser la configuration.

Routage et Pools de machines

Les pools de machines contiennent des machines. Une machine peut ne pas faire partie d’un pool.

Gestion des requetes SharePoint 2013 Pool de machines

Le routage utilise les poids relatifs des serveurs. Les poids statiques sont constants et affectés par l’administrateur, tandis que les poids santé changent dynamiquement en fonction des scores de santé.

Les scores de santé varient de 0 à 10, où 0 correspond au serveur le plus sain et donc à celui qui recevra le plus de requêtes. Le poids santé de chaque serveur utilise ce score.

La Gestion des requêtes interroge ou ping continuellement chaque serveur afin de déterminer ses caractéristiques de fonctionnement pour affecter les priorités et procéder à l’équilibrage de charge.

Evaluation des règles et fonctionnement

1. Une cible de routage est une machine d’un pool de machines.

2. Un pool de machines est une collection de cibles de routage. Un pool de machines est la cible d’une ou plusieurs règles de routage.

3. Une règle de routage est la définition des critères à évaluer avant d’acheminer les requêtes qui correspondent aux critères. Chaque règle de routage est associée à un pool de machines et un groupe d’exécution. Elle peut se voir attribuer une date d’expiration.

4. Une règle de limitation est un ensemble de critères à évaluer avant de refuser les requêtes qui correspondent aux critères. Une règles de limitation n’est pas associée à un pool de machines ou un groupe d’exécution. Elle peut se voir attribuer une date d’expiration.

5. Un groupe d’exécution est une collection de règles de routage. Il y a trois groupes d’exécution (0, 1 et 2) qui sont évalués dans cet ordre. Si une règle n’est pas associée à groupe d’exécution, elle est associée avec le groupe d’exécution 0 qui est prioritaire. Dès qu’une correspondance est trouvée, les autres groupes d’exécution ne sont plus évalués.

Gestion des requêtes SharePoint 2013 Goupes d'exécution et règles

Règles

Les règles peuvent correspondre à ces propriétés: Url, UrlReferrer, UserAgent, Host, IP, HttpMethod, SoapAction, CustomHeader.

La plupart de ces propriétés nous sont familières car elles correspondent à l’entête HTTP standard. La propriété CustomHeader permet une flexibilité optimale, en particulier lorsque vous travaillez avec des applications basées sur CSOM (Client-Side Object Model).

Les méthodes d’évaluations des règles sont: StartsWith, EndsWith, Equals et RegEx.

La prudence s’impose avec des expressions régulières mal testées à cause de problèmes potentiels de performances.

Exemples de scénarios

L’un des serveurs Web connaît des problèmes de performance. Une règle route les nouvelles requêtes vers les autres serveurs afin de décharger le serveur défaillant, le temps de le réparer.

Un problème de charge trop importante liée à des clients riches Microsoft OneNote qui requêtent à se synchroniser à SharePoint, pénalise les requêtes faites via le navigateur. Une règle de limitation, qui expirera dans 2 heures, bloque toutes les requêtes faites par OneNote grâce à l’expression régulière « .*Microsoft Office OneNote 2010* » qui porte sur la propriété UserAgent.

Les informations de ce billet proviennent des sites web de Microsoft, ainsi que du site d’un très rare MCA SharePoint: Request Management in SharePoint Server 2013. Nous avons procédé à la traduction en français et à de menues adaptations. Ces informations sont préliminaires et sujettes à changement.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *