2017-03-16 4 views
0

Est-ce que quelqu'un a une expérience de mise à niveau de SQL Server 2008R2 à 2016?mise à niveau SQL Server 2008R2 à 2016 problèmes de performance

Notre système fonctionnait bien sur 2008R2, mais après la mise à niveau vers 2016, nous sommes confrontés à un conflit de tempdb élevé.

Nous voyons une grande quantité de blocage sur PAGELATCH_SH attend des objets tempdb. Le PLE est de 99,98%. MAXDOP est 6 (la machine a 8 cœurs/NUMA). Le seuil MAXDOP est 50.

Les requêtes aléatoires prennent plus de 30 secondes pour s'exécuter, mais lorsque j'essaie d'exécuter les mêmes requêtes à partir de SSMS, elles s'exécutent en sous-secondes, ce qui confirme le blocage. Nous utilisons actuellement 16 fichiers temporaires et passons à 34 ce soir.

Nous découvrons aujourd'hui que tempdb log a un io_stall_write_ms de plus de 200 000 ms, nous le déplaçons vers un SAN ce soir, mais je ne crois pas que cela explique les longues attentes pour les verrous de pages.

J'ai atteint la fin de mes idées. Est-ce que quelqu'un a des suggestions?

+0

S'agissait-il d'une mise à niveau sur place sur le même matériel ou avez-vous effectué une migration _migration_ vers un matériel différent? –

+0

'Nous voyons une grande quantité de blocage sur PAGELATCH_SH attend les objets tempdb' cette affirmation n'est pas vraie et n'indique pas la contention tempdb – TheGameiswar

+1

suivez-vous les meilleures pratiques de tempdb comme les fichiers journaux et de données sur les disques séparés, les fichiers de données de taille égale. Aussi selon ma compréhension, vous avez ajouté plus que nécessaire des fichiers de données tempdb pour vos 8 cœurs – TheGameiswar

Répondre

0

Nous avons eu un problème similaire et il s'est avéré être le nouvel estimateur cardinal. Essayez de changer le mode de compatibilité pour la base de données en 2008 et comparez.