Consommation élevée de la CPU (> 90%) sur les CAS engendrant des problèmes de connexion avec Outlook Anywhere ou de synchronisation ActiveSync en Exchange 2010

Problème:

Les utilisateurs peuvent avoir des problèmes de connexion avec Outlook Anywhere ou de synchronisation ActiveSync.

 Analyse:

Vous constatez une consommation élevée de la CPU (>90%) sur les CAS.

 Dépannage:

Il faut déterminer quel processus consomme beaucoup de CPU. Pour faire cela, lorsque le problème intervient, lancer le gestionnaire de tâche sur le serveur CAS et aller dans l’onglet des processus.

La difficulté est qu’il existe plusieurs instances du processus W3WP.exe. Pour connaître l’instance impactée: Aller dans « View » => Sélectionner: « Select Columns »

Sélectionner Command Line

Rechercher le processus qui consomme le plus de CPU et dans la colonne « Command Line », regarder le nom de l’instance:
c:\Windows\system32\inetsrv\w3wp.exe –ap “MSExchangeActiveSyncAppPool” …

 A cette étape, il existe deux possibilités 

1- Problème dû à une synchronisation d’un terminal:

Pour vérifier cela, il faut analyser les logs IIS. Regarder si les logs IIS augmentent rapidement.

Récupérer les logs IIS des serveurs CAS.

Installer sur un PC l’outil Log Parser: https://blogs.technet.com/b/exchange/archive/2012/01/31/a-script-to-troubleshoot-issues-with-exchange-activesync.aspx

Pour utiliser facilement cet outil, il est possible d’utiliser la version graphique de l’outil qui se nomme Log Parser Studio: https://blogs.technet.com/b/exchange/archive/2012/03/07/introducing-log-parser-studio.aspx

Lancer Log Parser Studio et sélectionner le premier rapport:

Cliquer sur l’icône en forme de répertoire et sélectionner les fichiers IIS. Ensuite, cliquer sur l’icône en forme de point d’exclamation pour lancer l’analyse.

Dans l’onglet du résultat, il est intéressant de regarder quel terminal a un niveau de Hits le plus élevé : Habituellement, si un terminal envoie plus de 1000 demandes par jour, nous considérons que c'est «grande consommation». Si les hits (demandes) sont au-dessus de 1500, il pourrait y avoir un problème sur l'appareil. Dans ce cas, le terminal et l'activité de ses utilisateurs devraient être davantage étudiés.

Mais un haut niveau de hits n’est pas automatiquement la raison d’une forte consommation CPU. Il faut également regarder la colonne « Folder Sync », si le terminal synchronise un grand nombre d’items ou dans la colonne « Meeting Response » si le terminal synchronise un grand nombre de réunions.

Par example:

 Dans cet exemple, on peut voir qu’un terminal Android synchronise un grand nombre d’éléments. Il est possible que le terminal n’arrive pas à synchroniser un élément et qu’il fasse beaucoup de tentatives pour synchroniser cet élément.

On peut également voir un Iphone qui a probablement le même problème avec un élément du calendrier.

 Avec la liste des utilisateurs suspects, il faut désactiver ActiveSync pour ces utilisateurs: https://technet.microsoft.com/en-us/library/aa996414%28v=exchg.141%29.aspx

Ensuite il faut  prendre contact avec le propriétaire du terminal pour lui faire recréer le profile ActiveSync.

 Des articles Technet sur ce sujet:

https://support.microsoft.com/kb/2469722

https://support.microsoft.com/kb/2814847/en-us

Cet article référence les différents problèmes connus entre ActiveSync et Third part : https://support.microsoft.com/kb/2563324/en-us

 

2- Problème est dû à un dysfonctionnement du RU5 et RU6 du SP2:

Deux scenarios possibles:

Dans le premier, un événement est généré dans le journal des événements:

Time: 20/03/2013 08:37:23

ID: 1106

Level: Error

Source: MSExchange ActiveSync

Message:
Exchange ActiveSync has shut down because an unexpected critical error occurred.

URL=/Microsoft-Server-ActiveSync/default.eas?User=TOTO&DeviceId=ApplC39JJR20DTZW&DeviceType=iPhone&Cmd=MeetingResponse

---
Exception start ---

Exception
type: System.OutOfMemoryException

Exception
message: Exception of type 'System.OutOfMemoryException' was thrown.

Exception
level: 0

Exception
stack trace: at Microsoft.Exchange.Data.Storage.AppointmentTombstone..ctor(Byte[] tombstoneInfo, Int32 monthsCount)

  at
Microsoft.Exchange.Data.Storage.MailboxSession.UpdateAppointmentTombstone(TombstoneRecord newTombstoneRecord)

  at Microsoft.Exchange.Data.Storage.CalendarItemBase.RespondToMeetingRequest(ResponseType responseType, String subjectPrefix)   
at Microsoft.Exchange.AirSync.MeetingResponseCommand.Respond(StoreObjectId itemId, String requestId, String userResponse, Boolean usingLongId)

  at Microsoft.Exchange.AirSync.MeetingResponseCommand.ProcessCommand()

  at Microsoft.Exchange.AirSync.MeetingResponseCommand.OnExecute()

  at Microsoft.Exchange.AirSync.MeetingResponseCommand.ExecuteCommand()

  at Microsoft.Exchange.AirSync.Command.WorkerThread()

--- Exception end ---

 Cette exception est référencée comme un dysfonctionnement: https://support.microsoft.com/kb/2800133/en-us

 Dans le deuxième scenario, il n’y a pas d’événements particuliers.

La meilleure solution est d’installer le SP3. Mais à cause de certaines versions de Blackerry qui ne sont pas validées avec le SP3 (seulement la version 5.0.4 est validé pour le SP3) ou Entreprise Vault, certains clients ne peuvent pas installer le SP3. Il existe un Interim Update qui peut être obtenu auprès du support et après validation que nous sommes bien en face de ce dysfonctionnement.