Analyse et maintenance de SharePoint Server 2013
S’APPLIQUE À :2013 2016 2019 Subscription Edition SharePoint dans Microsoft 365
Cet article traite des compteurs de performance et de surveillance de batteries SharePoint Server 2013. Pour maintenir les performances du système SharePoint Server 2013, vous devez surveiller votre serveur afin d'identifier les goulots d'étranglement potentiels. Avant de parvenir à une surveillance efficace, vous devez d'abord comprendre les indicateurs clés qui signaleront si vous devez porter votre attention sur une partie spécifique de votre batterie, puis savoir comment interpréter ces indicateurs. Si vous vous rendez compte que votre batterie fonctionne de façon non conforme aux objectifs que vous avez définis, vous pouvez l’ajuster en ajoutant ou en supprimant des ressources matérielles, en modifiant votre topologie ou en modifiant le mode de stockage des données.
Les informations contenues dans cette section ont pour but d'aider les administrateurs à configurer manuellement les compteurs de performance et d'autres paramètres. Pour plus d'informations sur le suivi d'intégrité et la résolution des problèmes à l'aide des outils de suivi d'intégrité intégrés dans l'interface le site Web Administration centrale de SharePoint, consultez les articles suivants :
Avant de lire cet article, nous conseillons de lire la page Vue d'ensemble de la gestion et du dimensionnement de la capacité pour SharePoint Server 2013.
Configuration de la surveillance
Vous trouverez ci-dessous une liste des paramètres que vous pouvez modifier pour surveiller votre environnement à ses premières étapes, ce qui vous aidera à déterminer si des modifications sont nécessaires. L’augmentation de vos fonctionnalités de surveillance affecte la quantité d’espace disque nécessaire à votre base de données d’utilisation. Une fois que l'environnement est stable et que cette surveillance détaillée n'est plus nécessaire, vous pouvez inverser les paramètres et les passer en-dessous de leurs paramètres par défaut.
Paramètre | Valeur | Remarques |
---|---|---|
Protection contre la saturation du journal des événements |
Désactivé |
La valeur par défaut est Activé. Ce paramètre peut être désactivé pour recueillir autant de données de surveillance que possible. Pour les opérations normales, il doit être activé. |
Planification du travail du minuteur |
||
Importation de données d’utilisation de Microsoft SharePoint Foundation |
5 minutes |
La valeur par défaut est de 30 minutes. La réduction de ce paramètre entraîne une importation plus fréquente des données dans la base de données d’utilisation, ce qui est particulièrement utile en cas de dépannage. Pour les opérations normales, cette valeur doit être de 30 minutes. |
Fournisseurs de diagnostics |
||
Activer tous les fournisseurs de diagnostic |
Activé |
La valeur par défaut est Désactivé, excepté pour le fournisseur « Suivi d’intégrité de recherche - Événements de suivi ». Ces fournisseurs recueillent des données d’intégrité pour divers composants et fonctionnalités. Pour les opérations normales, vous pouvez rétablir la valeur par défaut. |
Définir les intervalles de planification « job-diagnostics-performance-counter-wfe-provider » et « job-diagnostics-performance-counter-sql-provider » |
1 minute |
La valeur par défaut est de 5 minutes. La réduction de ce paramètre permet d’interroger les données plus fréquemment, ce qui est particulièrement utile en cas de dépannage. Pour les opérations normales, cette valeur doit être de 5 minutes. |
Divers |
||
Activer le traçage de pile pour les demandes de contenu |
Activé |
La valeur par défaut est Désactivé. L’activation de ce paramètre permet de diagnostiquer les échecs des demandes de contenu à l’aide de la trace de pile de processus. Pour les opérations normales, cette valeur doit être désactivée. |
Activer le tableau de bord du développeur |
Activé |
La valeur par défaut est Désactivé. L’activation de ce paramètre permet le diagnostic de pages chargées ou d’autres problèmes à l’aide du tableau de bord du développeur. Pour les opérations normales, et dès que le dépannage n’est plus nécessaire, la valeur doit être désactivée. |
Collecte de données d’utilisation |
||
Utilisation de l’importation de contenu Utilisation de l’exportation de contenu Demandes de page Utilisation de la fonctionnalité Utilisation de la requête de recherche Utilisation de l’inventaire des sites Travaux du minuteur Utilisation de l’évaluation |
Activé |
L’activation de la journalisation de ce jeu de compteurs permet de recueillir plus de données d’utilisation dans l’environnement et de mieux comprendre les modèles de trafic de cet environnement. |
Compteurs de performance
Si vous utilisez la base de données d’utilisation, vous pouvez ajouter des compteurs de performance afin de vous aider à surveiller et évaluer les performances de votre batterie dans la base de données d’utilisation, de telle sorte qu’ils soient automatiquement journalisés à un intervalle spécifique (par défaut, 30 minutes). Ainsi, vous pouvez interroger la base de données d’utilisation pour récupérer ces compteurs et obtenir une représentation graphique des résultats dans le temps. Voici comment utiliser la cmdlet PowerShell Add-SPDiagnosticsPerformanceCounter pour ajouter le compteur % temps processeur à la base de données d’utilisation. Ceci doit uniquement être exécuté sur l’un des serveurs web :
Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd
Pour tout système de serveur, il existe plusieurs compteurs de performance génériques à surveiller. Le tableau suivant décrit ces compteurs de performance.
Compteur de performance | Description |
---|---|
Processeur |
Vous devez surveiller les performances du processeur afin de vous assurer que l’utilisation totale du processeur n’est pas constamment élevée (plus de 80 %), auquel cas le système ne serait pas en mesure de traiter une augmentation soudaine de l’activité. De même, dans un état commun, vous ne détecterez pas l’effet domino produit lors d’un échec de composant qui rendrait les éléments restants défectueux. Par exemple, si vous disposez de trois serveurs web, vous devez vous assurer que l’utilisation moyenne du processeur sur tous les serveurs est inférieure à 60 %, de sorte que si l’un échoue, les deux autres puissent encore absorber la charge supplémentaire. |
Interface réseau |
Surveillez la vitesse à laquelle les données sont envoyées et reçues via la carte d’interface réseau. Celle-ci doit rester inférieure à 50 % de la capacité du réseau. |
Disques et cache |
Il existe plusieurs options de disque logique à surveiller régulièrement. L’espace disque disponible constitue un point important dans toute étude de capacité, mais vous devez également vérifier le temps d’inactivité du disque. En fonction des types d’applications ou de services que vous exécutez sur vos serveurs, vous vérifiez les temps de lecture/écriture du disque. La fonction de mise en file d’attente étendue pour lecture ou écriture aura une incidence sur les performances. Le cache a un effet majeur sur les opérations de lecture et d’écriture. Vous devez surveiller les échecs d’augmentation du cache. |
Mémoire et fichier d’échange |
Surveillez la quantité de mémoire physique disponible pour allocation. Une mémoire insuffisante entraînera une utilisation excessive du fichier d’échange et une augmentation du nombre de défauts de page par seconde. |
Compteurs système
Le tableau suivant apporte des informations sur les compteurs et les objets système que vous pouvez ajouter au jeu de compteurs surveillés dans la base de données d’utilisation à l’aide de SPDiagnosticPerformanceCounter sur un serveur web.
Objets et compteurs | Description |
---|---|
Processeur |
|
% temps processeur |
Ce pourcentage montre l’utilisation du processeur dans le temps. Si elle est constamment trop élevée, cela risque de nuire aux performances. N’oubliez pas de compter « Total » dans les systèmes multiprocesseurs. Vous pouvez aussi mesurer l’utilisation de chaque processeur pour garantir l’équilibre des performances entre les cœurs. |
Disque |
|
- Longueur moyenne de file d'attente du disque |
Ceci correspond au nombre moyen de demandes de lecture et d'écriture mises en file d'attente pour le disque sélectionné durant l'intervalle d'échantillonnage. Une plus grande longueur de file d’attente du disque ne représente pas un problème tant que cela n’a pas d’incidence sur les lectures/les écritures du disque et que le système fonctionne dans un état stable sans augmenter la mise en file d’attente. |
Longueur moyenne de file d’attente lecture disque |
Nombre moyen de demandes de lecture mises en file d’attente. |
Longueur moyenne de file d’attente écriture disque |
Nombre moyen de demandes d’écriture mises en file d’attente. |
Lectures disque/s |
Nombre de lectures sur le disque par seconde. |
Écritures disque/s |
Nombre d’écritures sur le disque par seconde. |
Mémoire |
|
- Mégaoctets disponibles |
Ceci indique la quantité de mémoire physique disponible pour allocation. Une mémoire insuffisante entraîne une utilisation excessive du fichier d’échange et à une augmentation du nombre de défauts de page par seconde. |
- Défauts de cache/s |
Ce compteur indique le taux auquel des défauts se produit lorsqu’une page est recherchée dans le cache du système de fichiers et est introuvable. Il peut s’agir d’un défaut logiciel, lorsque la page se trouve dans la mémoire, ou matériel, lorsque la page se trouve sur le disque. L’utilisation efficace du cache pour les opérations de lecture et d’écriture peut avoir un effet important sur les performances du serveur. Vous devez surveiller les échecs d’augmentation du cache, indiqués par une réduction dans Async Fast Reads/sec ou Read Aheads/sec. |
- Pages/s |
Ce compteur indique la vitesse de lecture/écriture des pages sur le disque pour résoudre les défauts de page matériels. L’augmentation de cette vitesse indique des problèmes de performances au niveau du système. |
Fichier d’échange |
|
- % utilisé et % max utilisé |
Le fichier d’échange du serveur, également appelé fichier de pagination, rassemble les adresses de mémoire « virtuelle » sur le disque. Des défauts de page se produisent lorsqu’un processus doit être arrêté le temps que les ressources « virtuelles » requises soient récupérées à partir du disque dans la mémoire. Si la mémoire physique est insuffisante, ceux-ci seront plus fréquents. |
NIC |
|
- Octets totaux/s |
Il s’agit de la vitesse à laquelle les données sont envoyées et reçues via la carte d’interface réseau. Vous pouvez être amené à effectuer une analyse plus approfondie si cette vitesse dépasse 40-50 % de la capacité du réseau. Pour affiner votre recherche, surveillez les valeurs Octets reçus/s et Octets envoyés/s. |
Processus |
|
- Jeu de travail |
Ce compteur indique la taille actuelle (en octets) du jeu de travail d’un processus donné. Cette mémoire est réservée pour le processus, même si elle n’est pas utilisée. |
- % temps processeur |
Ce compteur indique le pourcentage de temps processeur utilisé par un processus donné. |
Nombre de threads (_Total) |
Nombre actuel de threads. |
ASP.NET |
|
Demandes totales |
Nombre total de demandes effectuées depuis le démarrage du service. |
Demandes en attente |
SharePoint Server 2013 fournit les blocs de construction des pages HTML qui sont affichées dans le navigateur utilisateur via HTTP. Ce compteur indique le nombre de demandes en attente de traitement. |
Durée d’attente de la demande |
Nombre de millisecondes pendant lequel la demande la plus récente a attendu dans la file d’attente avant d’être traitée. Plus le nombre d’événements d’attente augmente, plus les utilisateurs font face à une réduction des performances d’affichage des pages. |
Demandes rejetées |
Nombre total de demandes non exécutées en raison de ressources serveur insuffisantes pour les traiter. Ce compteur représente le nombre de demandes qui renvoient un code d’état HTTP 503, indiquant que le serveur est trop occupé. |
Demandes en cours d’exécution (_Total) |
Nombre de demandes en cours d’exécution. |
Demandes/s (_Total) |
Nombre de demandes exécutées par seconde. Ceci représente le débit actuel de l’application. Sous charge constante, ce nombre doit rester dans une certaine plage, excepté pour un autre travail de serveur (tel que le nettoyage de la mémoire, le thread de nettoyage du cache, les outils de serveur externe, etc.). |
Mémoire CLR .NET |
|
Nombre de collections de la génération 0 |
Affiche le nombre de fois que les objets de génération 0 (c’est-à-dire les derniers objets, les plus récemment alloués) sont récupérés par le nettoyage de la mémoire depuis le démarrage de l’application. Ce nombre est utile en tant que rapport #Gen 0: #Gen 1: #Gen 2 pour s’assurer que le nombre de collections de la génération 2 ne dépasse pas trop celui de génération 0, dans l’idéal par un facteur de 2. |
Nombre de collections de la génération 1 |
Affiche le nombre de fois que les objets de la génération 1 sont récupérés par le nettoyage de la mémoire depuis le démarrage de l’application. |
Nombre de collections de la génération 2 |
Affiche le nombre de fois que les objets de la génération 2 sont récupérés par le nettoyage de la mémoire depuis le démarrage de l’application. Le compteur est incrémenté à la fin d’un nettoyage de la mémoire de génération 2 (également appelé nettoyage de la mémoire complet). |
% temps dans le GC |
Affiche le pourcentage de temps écoulé consacré au nettoyage de la mémoire depuis le dernier cycle de nettoyage de la mémoire. Ce compteur indique généralement le travail réalisé par le garbage collector afin de collecter et de compacter la mémoire au nom de l’application. Ce compteur est uniquement mis à jour à la fin de chaque nettoyage de la mémoire. Ce compteur n’est pas une moyenne. Sa valeur reflète la dernière valeur observée. En fonctionnement normal, ce compteur doit être inférieur à 5 %. |
Compteurs SQL Server
Le tableau suivant fournit des informations sur les objets et les compteurs SQL Server.
Objets et compteurs | Description |
---|---|
Statistiques générales |
Cet objet fournit des compteurs afin de surveiller l'activité générale à l'échelle du serveur, comme le nombre de connexions en cours et le nombre d'utilisateurs qui se connectent et se déconnectent par seconde à partir d'ordinateurs exécutant une instance de SQL Server. |
Connexions utilisateur |
Ce compteur indique le nombre de connexions utilisateur sur votre instance de SQL Server. Si ce nombre augmente de 500 % par rapport à la ligne de base, vous rencontrerez peut-être une réduction des performances. |
Bases de données |
Cet objet fournit des compteurs afin de surveiller les opérations de copie des données en bloc, le débit de sauvegarde et de restauration, et les activités du journal des transactions. Surveillez les transactions et le journal des transactions pour déterminer le nombre d'activités utilisateur en cours dans la base de données et le niveau de remplissage du journal des transactions. Le nombre d'activités utilisateur permet de déterminer les performances de la base de données et a un impact sur la taille du journal, le verrouillage et la réplication. La surveillance d’une faible activité de journal afin d’évaluer l’activité des utilisateurs et l’utilisation des ressources peut vous aider à identifier les goulots d’étranglement de performances. |
Transactions/s |
Ce compteur indique le nombre de transactions dans une base de données donnée ou dans toute l'instance SQL Server par seconde. Ce nombre vous aide à créer une ligne de base et à résoudre les problèmes. |
Verrous |
Cet objet fournit des informations sur les verrous SQL Server sur des types de ressources individuels. |
Nombre d'interblocages/s |
Ce compteur indique le nombre d’interblocages sur le serveur SQL Server par seconde. Ce nombre doit généralement être égal à 0. |
Temps d’attente moyen (ms) |
Ce compteur indique le temps d’attente moyen de chaque demande de verrou ayant entraîné une attente. |
Temps d’attente des verrous (ms) |
Ce compteur affiche le temps d’attente total des verrous au cours de la dernière seconde. |
Attentes de verrous/s |
Ce compteur indique le nombre de verrous par seconde qui n’ont pu être satisfaits directement et ont dû attendre des ressources. |
Verrous internes |
Cet objet fournit des compteurs pour surveiller les verrous de ressource SQL Server internes appelés verrous internes. Surveiller les verrous internes pour évaluer l'activité utilisateur et l'utilisation des ressources peut vous aider à identifier les goulots d'étranglement des performances. |
Temps d’attente moyen d’un verrou interne (ms) |
Ce compteur affiche le temps d’attente moyen d’un verrou interne pour les demandes de verrou interne en attente. |
Attentes de verrous internes/s |
Ce compteur indique le nombre de demandes de verrou interne par seconde qui n’ont pas pu être accordées immédiatement. |
Statistiques SQL |
Cet objet fournit des compteurs pour surveiller la compilation et le type des demandes envoyées à une instance de SQL Server. Surveiller le nombre de compilations et de recompilations de requête et le nombre de lots reçus par une instance de SQL Server vous donne une indication de la rapidité avec laquelle SQL Server traite les requêtes utilisateur et de l'efficacité avec laquelle l'optimiseur de requêtes traite les requêtes. |
Compilations SQL/s |
Ce compteur indique le nombre de fois par seconde que le chemin d’accès au code de compilation est indiqué. |
Recompilations SQL/s |
Ce compteur indique le nombre de fois que des recompilations d’instruction sont déclenchées par seconde. |
Cache du plan |
Cet objet fournit des compteurs afin de surveiller la façon dont SQL Server utilise la mémoire pour stocker des objets tels que les procédures stockées, les instructions Transact-SQL préparées et impromptues, ainsi que les déclencheurs. |
Taux d'accès au cache |
Ce compteur indique le rapport entre les accès au cache et les recherches de plans. |
Cache des tampons |
Cet objet fournit des compteurs pour surveiller la façon dont SQL Server utilise la mémoire pour stocker des pages de données, des structures de données internes et le cache de procédures, ainsi que des compteurs pour surveiller l'E/S physique tandis que SQL Server lit et écrit des pages de base de données. |
Taux d'accès au cache des tampons |
Ce compteur indique le pourcentage de pages trouvées dans le cache des tampons sans avoir à lire le disque. Ce taux correspond au nombre total d'accès au cache divisé par le nombre total de recherches dans le cache depuis le démarrage d'une instance de SQL Server. |
Suppression des goulots d’étranglement
Les goulots d’étranglement du système se produisent lorsque les ressources sont insuffisantes pour traiter les demandes de transaction de l’utilisateur. Ils peuvent être liés au matériel physique, à l’environnement d’exploitation ou à l’application. Souvent, le goulot d’étranglement est dû à un code personnalisé ou à des solutions tierces inefficaces, et passer ces derniers en revue peut donner de meilleurs résultats que l’ajout de matériel. Une mauvaise configuration de la batterie constitue une autre cause fréquente des goulots d’étranglement, de même que l’application d’une solution inefficace qui structure les données d’une manière qui nécessite plus de ressources que nécessaire. En tant qu’administrateur système, vous devez gérer les goulots d’étranglement en surveillant constamment les performances. Lorsque vous identifiez un problème de performances, vous devez déterminer la meilleure solution pour supprimer le goulot d’étranglement. Les compteurs de performances et d’autres applications d’analyse des performances, telles que SCOM, sont les outils clés pour le suivi et l’analyse des problèmes, afin que vous puissiez développer une solution.
Résolution des goulots d’étranglement physiques
Les goulots d’étranglement physiques reposent sur un conflit au niveau du processeur, du disque, de la mémoire et du réseau : ils surviennent s’il existe un nombre trop élevé de demandes pour une quantité trop faible de ressources physiques. Les objets et les compteurs décrits dans la rubrique de surveillance des performances indiquent où se situe le problème de performance, par exemple dans le processeur matériel ou ASP.NET. La résolution des goulots d’étranglement nécessite d’identifier le problème pour ensuite effectuer les modifications nécessaires à l’atténuation du problème de performances.
Les problèmes se produisent rarement instantanément ; il existe généralement une dégradation progressive des performances que vous pouvez suivre si vous surveillez régulièrement, à l’aide de votre outil d’analyse de performances ou d’un système plus sophistiqué, tel que SCOM. Pour ces deux options, à des degrés divers, vous pouvez incorporer des solutions dans une alerte, sous forme de texte d’avis ou de commandes scriptées.
Vous devrez peut-être résoudre les problèmes de goulot d’étranglement en apportant des modifications aux configurations matérielles ou système, une fois que vous avez déterminé qu’ils ne sont pas causés par une configuration incorrecte, un code personnalisé ou des solutions tierces inefficaces, ou une implémentation inefficace de solution. Les tableaux suivants présentent les seuils problématiques et leurs possibles options de résolution. Certaines des options impliquent des mises à niveau ou des modifications matérielles.
Objets et compteurs | Problème | Options de résolution |
---|---|---|
Processeur |
||
Processeur - % temps processeur |
Plus de 75-85 % |
Mettre à niveau le processeur Augmenter le nombre de processeurs Ajouter des serveurs supplémentaires |
Disque |
||
Longueur moyenne de file d’attente du disque |
Augmentation progressive, le système est dans un état instable et la file d’attente est en cours de sauvegarde |
Augmenter le nombre ou la vitesse des disques Modifier la configuration de groupe en bande Déplacer certaines données vers un autre serveur |
% temps inactivité |
Inférieur à 90 % |
Augmenter le nombre de disques Déplacer les données vers un autre disque ou serveur |
% espace libre |
Inférieur à 30 % |
Augmenter le nombre de disques Déplacer les données vers un autre disque ou serveur |
Mémoire |
||
Mégaoctets disponibles |
Inférieur à 2 Go sur un serveur web. |
Ajouter de la mémoire > [! REMARQUE]> La mémoire disponible de SQL Server est faible, par défaut, et n’indique pas toujours un problème. |
Défauts de cache/s |
Supérieur à 1 |
Ajouter de la mémoire Augmenter la taille ou la vitesse du cache si possible Déplacer les données vers un autre disque ou serveur |
Pages/s |
Supérieur à 10 |
Ajouter de la mémoire |
Fichier d’échange |
||
% utilisé et % max utilisé |
Le fichier d’échange du serveur, également appelé fichier de pagination, rassemble les adresses de mémoire « virtuelle » sur le disque. Les défauts de page se produisent lorsqu’un processus doit être arrêté le temps que les ressources « virtuelles » requises soient récupérées à partir du disque dans la mémoire. Si la mémoire physique est insuffisante, ceux-ci seront plus fréquents. |
Ajouter de la mémoire |
NIC |
||
Octets totaux/s |
Plus de 40 à 50 % de la capacité du réseau. Il s’agit de la vitesse à laquelle les données sont envoyées et reçues via la carte d’interface réseau. |
Effectuer une analyse plus approfondie en surveillant les octets envoyés et reçus par seconde. Réévaluer la vitesse de la carte d’interface réseau Vérifier le nombre, la taille et l’utilisation des mémoires tampon |
Processus |
||
Jeu de travail |
Supérieur à 80 % de la mémoire totale |
Ajouter de la mémoire |
% temps processeur |
Plus de 75-85 %. |
Augmenter le nombre de processeurs Redistribuer la charge de travail à des serveurs supplémentaires |
ASP.NET |
||
Recyclages du pool d’applications |
Plusieurs par jour, à l’origine d’une lenteur intermittente. |
Assurez-vous que vous n’avez pas appliqué des paramètres qui recyclent automatiquement le pool d’applications inutilement au cours de la journée. |
Demandes en attente |
Des centaines ou des milliers de demandes en file d’attente. |
Implémenter des serveurs web supplémentaires La valeur maximale par défaut de ce compteur est de 5 000, et vous pouvez modifier ce paramètre dans le fichier Machine.config |
Durée d’attente de la demande |
Plus le nombre d’événements d’attente augmente, plus les utilisateurs font face à une détérioration des performances d’affichage des pages. |
Implémenter des serveurs web supplémentaires |
Demandes rejetées |
Supérieur à 0 |
Implémenter des serveurs web supplémentaires |
Voir aussi
Concepts
Test des performances de SharePoint Server 2013
Planification de la capacité pour SharePoint Server 2013
Autres ressources
Capacity management and sizing overview for SharePoint Server 2013