Accéder au contenu principal

SharePoint : Optimisation des performances de sites sous MOSS – Le Blob Cache

 Toujours dans la suite des articles sur l’optimisation des performances de sites basés sous Microsoft Office SharePoint Server 2007, voilà une des fonctionnalités intéressantes :

Cette fonctionnalité est disponible uniquement pour une ferme basée sur MOSS, en effet, l’activation du BlobCache sur une ferme WSS provoque une erreur :

image


Mais qu’est-ce que ce principe ?

Dans un site SharePoint, tout ce qui n’est pas dans le répertoire “12” est en base de données. Le résultat de cette logique n’est pas dramatique en soit, mais on voit très rapidement que de nombreux fichiers de Design peuvent se trouver dans cette base de données :

  • Les fichiers de script (.JS)
  • Les fichiers de design (.CSS)
  • Les images

Lorsque chaque utilisateur arrive sur la page par défaut, il y a un grand nombre de requêtes SQL qui sont exécutées pour uniquement extraire ces fichiers et les associer au rendu HTML transmis à cet utilisateur.

Ce fonctionnement peut rapidement saturer inutilement le serveur SQL.

Le principe du BlobCache de SharePoint 2007 est donc la mise en cache sur disque de contenu suivant le type choisi afin de limiter les requêtes inutiles exécutées par le serveur SQL.


Comment cela fonctionne ?

On va donc définir en premier lieu les informations suivantes :

  • Les types de fichiers (par extension)
  • La taille maximale du cache que l’on veut conserver sur disque
  • La durée de rétention de ces fichiers
  • Le lieu de stockage de ces fichier sur le serveur frontal

Une fois ces informations connues, on il faut comprendre que le BlobCache se paramètre manuellement sur chaque application Web de chaque serveur frontal.

Ainsi dans une ferme classique MOSS :

  • 2 Web Front End
  • 1 Serveur App (Search MOSS)
  • 1 Serveur SQL

On va donc définir ce paramétrage sur les serveur Web Front End toutes les Web Applications (sauf le site d’administration).

Pour cela, on va éditer le fichier Web.Config de chaque Web Application, et localiser le bloc (généralement il se situe juste au dessus de la fermeture du bloc </SharePoint>) :

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" enabled="false" />

On va modifier ce fichier avec les informations précédemment définies :

  • location : Répertoire de stockage de ces fichiers de cache. Attention, il est fortement déconseillé d’utiliser le disque système pour cela.
  • path : Type de fichier que l’on va conserver en cache. De base, ce sera les images, JavaScript et CSS, mais on peut y ajouter des Flash
  • maxSize : Taille maximale du volume de fichiers en cache. Attention, cette valeur est en GB, il convient donc d’avoir cet espace disponible sur le lecteur du répertoire choisi
  • max-age : Temps de rétention des fichiers en secondes
  • enable : Activation ou non de la fonctionnalité

Le fichier peut donc être comme celui-ci :

<BlobCache location="D:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="14400" enabled="false" />

Une fois les Web.Config modifiés sur toutes les Web Applications de tous ses serveur Frontaux, on voit apparaître sur chaque serveur frontal un résultat comme celui-ci :

image

Il s’agit donc d’une organisation reprenant l’arborescence de ses sites SharePoint avec les fichiers définis en paramètre.

Tous ces fichiers possède alors une extension supplémentaire .CACHE et on trouve, au niveau racine de chaque Web Application (définie par le numéro dans IIS), trois fichiers BIN :

image

Ces fichiers contiennent les références vers les fichiers en cache.


Comment remettre ce cache à 0 ?

Le nettoyage du cache existant est à effectuer sur chaque serveur Frontal, soit via le site WEB :

  • Site Actions > Site Settings > Modify All Site Settings
  • Dans la partie “Site Collection Administration”, on trouve le lien “Site Collection Object Cache

image

On trouve alors le paramètre, dans le groupe “Disk Based Cache Reset”, l’option “Force this server to reset its disk based cache”, on coche cette option et valide sur OK

image

Cette action est donc à effectuer depuis chaque serveur frontal pour effectuer un reset intégral et sur chaque collection de sites de chaque Web Application.

Une seconde option est possible via la commande STSADM :

  • STSADM -o setproperty -propertyname blobcacheflushcount -propertyvalue 11 –url  ‘http://mywebapp:port’

Attention :

Chaque serveur frontal est autonome dans la gestion des fichiers en cache, il est donc possible d’avoir des décallage au niveau du contenu des serveurs de sa ferme.


Post Scriptum :

Cette fonctionnalité n’est pas dépendante du type de site mais du type de ferme. Ainsi, un Team Site hébergé dans une ferme MOSS peut bénéficier de cette fonction.


Related Links :

Romelard Fabrice [MVP]

Commentaires

Posts les plus consultés de ce blog

Redonner vie à une Microsoft Surface RT : le guide ultime vers Linux !

Vous avez une vieille Microsoft Surface RT qui traîne dans un tiroir ? Vous savez, cette tablette de 2012 devenue inutilisable depuis l'abandon officiel de Windows RT par Microsoft ? Ne la jetez surtout pas ! Dans ma dernière vidéo, je vous montre comment transformer cet appareil, autrefois considéré comme un "presse-papier", en une tablette Linux moderne et parfaitement fonctionnelle . Pourquoi ce projet ? L'objectif est simple : transformer ce matériel pour en faire un dashboard dédié à mon système Home Assistant. En installant postmarketOS , une version de Linux spécialement conçue pour les appareils ARM abandonnés, on redonne une seconde jeunesse à cette machine . Ce que vous allez apprendre dans ce tutoriel complet : La libération du matériel : Comment réinstaller la version d'origine pour passer outre les blocages de Windows 8.1 . Jailbreak & Secure Boot : La procédure indispensable pour déverrouiller la machine et permettre l'installation d...

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab

Mixer les batteries Enphase et Zendure : La solution ultime pour l'autoconsommation ?

Introduction Vous avez déjà une installation solaire équipée de micro-onduleurs Enphase , mais vous trouvez que le stockage officiel de la marque est trop coûteux ou difficile à installer en DIY ? Vous n'êtes pas seul. Aujourd'hui, je vous partage mon retour d'expérience complet sur une configuration qui intrigue beaucoup de monde : le couplage d'un système Zendure SolarFlow avec un environnement Enphase existant. Pourquoi vouloir mixer ces deux marques ? Le système Enphase est une référence en termes de fiabilité, mais l'ajout de batteries IQ Battery peut représenter un investissement lourd. À l'inverse, Zendure propose avec le SolarFlow une solution de stockage plug-and-play extrêmement flexible et souvent plus abordable. L'idée est simple : utiliser le SolarFlow comme "tampon" entre vos panneaux et vos micro-onduleurs pour stocker l'excédent de la journée et le réinjecter la nuit. Le montage : Est-ce vraiment compliqué ? Dans ma dernière ...