Performances désastreuses sur vos Serveurs SharePoint ?

40 ou 50 secondes pour charger une page SharePoint relativement épurée sur un de vos postes client ? Et ce phénomène est d'autant plus étrange si votre page SharePoint ne contient aucun code custom, et que vous êtes le seul à y accéder. Alors que tout se passait bien sur un environnement virtuel, ce phénomène m'est arrivé lors du passage sur les serveurs de production... tous flambant neufs et largement dimensionnés.

un peu plus de détails sur le problème

Une requête depuis un poste client nécessite de 40 à 50 secondes avant d'afficher la page. Les éléments affichés sur la page correspondent tout à fait à ce qui était prévu. Lorsque le client raffraîchi la page, la requête aboutit nettement plus rapidement, en moins de 2 secondes lors de mes tests. Et si le cache IE est vidé, la requête prends à nouveau entre 40 et 50 secondes. Bref, lorsque les données sont en cache côté client, tout va bien, autrement c'est le drame ! ("almost" copyright Gat)

En regardant en détail à l'aide de HttpWatch, il apparaît que l'appel au WebResource.axd est très différent avec et sans le cache côté client.

Détail de la requête : Appel au WebResource.axd lorsque les donnés sont en cache

Cette capture illustre un cas ou tout va bien. La ressource est obtenue en moins d'une seconde. Mais lorsque le cache est vidé, l'appel au WebResource.axd prends bel et bien plus de 40 secondes.

Dans quel cas le problème se produit-il ?

Le problème provient des networks adapters et du TCP Chimney Offload. Qu'est ce que le TCP Chimney Offload ? Vous trouverez cette définition sur le site du Technet :

"TCP Chimney Offload (allègement de la pile TCP). TCP Chimney Offload transfère de façon automatique le traitement du trafic TCP (Transmission Control Protocol) avec état à un adaptateur réseau spécialisé qui met en œuvre un « moteur de déchargement TCP » (TOE – TCP Offload Engine). Pour les connexions à longue durée de vie mettant en œuvre des paquets de grande taille, comme les connexions avec un serveur de fichiers, de stockage ou de sauvegarde, ou pour d'autres applications sollicitant fortement le réseau, TCP Chimney Offload réduit largement la charge du processeur en délégant à l’adaptateur réseau le traitement des paquets du réseau, y compris la fragmentation et le réassemblage des paquets. En utilisant TCP Chimney Offload, vous allégez le processeur qui peut se concentrer à d’autres tâches comme permettre davantage de sessions utilisateurs ou traiter les requêtes des applications en réduisant la latence."

Pour de plus amples informations sur le TCP Chimney Offloading, je vous invite à consulter ce white paper : http://download.microsoft.com/download/5/b/5/5b5bec17-ea71-4653-9539-204a672f11cf/TCP_Chimney.doc

Bref, le TCP Chimney Offload permet d'optimiser le traitement lié au traffic réseau. Cette fonctionnalité fait son apparition sous Windows Server 2003 avec le SP2.

Ce problème de performance ne concerne que les serveurs frontaux SharePoint sous Windows Server 2003 SP2... mais pas tous ! C'est là qu'interviennent les network adapters. En effet, le TCP Chimney Offloading n'est pas géré de la même façon selon les interfaces réseau. Dans mon cas, le problème s'est produit avec des serveurs HP.

Comment résoudre le problème ?

Sur le principe, il suffit de désactiver le TCP Offloading. Techniquement, il y a plusieurs façons de procéder :

  • En executant la commande netsh int ip set chimney disabled

         Cette commande vous permettra de tester le comportement de vos serveurs une fois le TCP Offloading désactivé. en cas de problème, relancez la commande en remplaçant ll paramètre disabled par enabled, ou redémarrez votre serveur.

  • En modifiant la base de registre. Accédez à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters et fixez la valeur de EnableTCPChimney à 0. Redémarrez ensuite votre serveur. Je vous conseille d'utiliser cette solution une fois le comportement validé avec la solution précédente.
  • En appliquant la KB Microsoft 948496 : http://support.microsoft.com/kb/948496/en-us. Il vous faudra ensuite redémarrer vos serveurs. Attention cependant, cette KB désactive également le RSS (Receive Side Scaling) Offloading.
  • En vérifiant la disponibilité d'une nouvelle version de vos pilotes d'interface réseau, corrigeant le problème.

Conclusion

Une fois le TCP Chimney Offloading désactivé, les requêtes client sur des sites SharePoint redeviennent tout à fait normales, même lorsque le cache du navigateur est vidé. Ce problème reste néanmoins très spécifique. S'il ne se produit pas sur votre plateforme, ne désactivez pas le TCP Chimney Offloading.


Comme d'habitude, merci à Julien Chomarat (avec qui j'ai découvert ce problème).

Publié samedi 22 mars 2008 10:36 par Gribouillon
Classé sous , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

# re: Performances désastreuses sur vos Serveurs SharePoint ? @ dimanche 23 mars 2008 16:54

Très bon à savoir, surtout avec les livrées de nouvelles machines pour la mise en place de nouvelles fermes.

Fabrice

ROMELARD Fabrice


Les 10 derniers blogs postés

- TechDays Paris 2010 : Plan de migration vers SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 3 heures et 34 minutes

- TechDays Paris 2010 : La pleinière du second jour par Blog Technique de Romelard Fabrice le il y a 4 heures et 39 minutes

- Visual Studio 2010 and .NET Framework 4 Release Candidate now available par Matthieu MEZIL le il y a 7 heures et 45 minutes

- Création d’une base de donnée sous SQL Azure par Le Blog (Vert) d'Arnaud JUND le il y a 8 heures et 42 minutes

- TechDays Paris 2010 : Les Services d’applications dans SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 18 heures et 41 minutes

- TechDays Paris 2010 : La GED et SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 22 heures et 40 minutes

- TechDays Paris 2010 : SharePoint 2010 et Les réseaux sociaux par Blog Technique de Romelard Fabrice le il y a 23 heures et 53 minutes

- TechDays Paris 2010 : SharePoint 2010 – Description et nouveautés par Blog Technique de Romelard Fabrice le 02-08-2010, 14:33

- TechDays Paris 2010 : Pleinière Lundi par Blog Technique de Romelard Fabrice le 02-08-2010, 14:30

- [Techdays 2010] #02 - Nouveautés de SharePoint 2010 par Le petit blog de Pierre / Pierre's little blog le 02-08-2010, 13:52