Search & SharePoint 2013
Hello,
La recherche et SharePoint 2013 est une énorme avancée de part l’intégration de Fast et SharePoint en un seul produit visant à faciliter la vie de tout le monde 🙂
Cependant, lors de vos différentes phase de test, vous pourriez très facilement tombé sur des erreurs du type :
Unexpected response from server. The status code of response is ’500′. The status text of response is ‘System.ServiceModel.ServiceActivationException’
En farfouillant dans les logs vous trouverez ceci: OutofMemory exception
Cette erreur ce produit lorsque vous effectuez une recherche et n’avez pas assez de mémoire pour exécuter la requête, votre serveur part alors en TimeOut.
Il s’agit clairement d’un bug connu de Microsoft venant du nouveau processus noderunner.exe [plus d’infos] qui aurait quelques fuites de mémoire et qui est corrigé dans la RTM si vous respectez les prérequis machine …
Si vos serveurs de production sont bien dimensionnés, vous ne devriez jamais rencontrer cette erreur, mais si c’est le cas, voici comment la réparer en dev, intégration, recette. Pour les environnements de production, je ne saurais trop vous conseiller de revoir à la hausse, nettement à la hausse la capacités CPU & RAM de votre machine virtuelle applicative.
Si vous killer le process noderunner.exe qui consomme le plus de RAM vous verrez votre RAM oscilliez 🙂 mais au final le processus reviendra se goinfrer… Toutefois vous pouvez faire les actions suivantes:
Solution 1 – Barbare Solution (Donc pas recommandé & pas supporté)
Il s’agit de limiter l’allocation mémoire du processus de NodeRunner. Noderunner à un fichier de configuration qui ce trouve à l’emplacement suivant: C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config
Il contient une ligne permettant de définir la mémoire à utiliser au maximum (0 (zéro) – valeur par defaut) représente une valeur illimitée. La valeur à définir s’indique en MegaBytes. La ligne à modifier est sous la balise « nodeRunnerSettings » et l’attribut « memoryLimitMegabytes ».
memoryLimitMegabytes=”0” />
Bien évidemment il est conseillé de redémarrer le serveur mais n’ayez aucun remords à killer le processus noderunner.exe à chaque fois que vous modifiez ça valeur afin que ce soit bien pris en compte par le système, SharePoint le recréera quasi immédiatement 🙂
Solution 2 – CleanSolution
L’idée est de réduire le niveau de performance du Search Service en PowerShell :
En mode réduit:
Set-SPEnterpriseSearchService -PerformanceLevel Reduced
En mode moyen (entre le réduit et le mode maximum)
Set-SPEnterpriseSearchService -PerformanceLevel PartialReduced
Vous pouvez vérifier que la commande est bien passée avec :
Get-SPEnterpriseSearchService
N’oubliez pas le iisreset qui peut s’avérer bien utile…
Liens complémentaires:
Enterprise search architectures for SharePoint Server 2013
Enjoy & Have fun !
-
13 novembre 2014 à 17:35Sharepoint 2013 / erreur Unexpected response from server. The status code of response is ’500′. The status text of response is ‘System.ServiceModel.ServiceActivationException’ « Gardez un oeil sur Sharepoint et Office 365...