Conseils D'optimisation de tempdb pour un nouveau serveur?

je planifie une nouvelle installation de SQL Server 2005<!-Sur une nouvelle machine, que je dois commander. Je sais que la base de données tempdb réglage est très important pour l'ensemble performances de l'instance de SQL Server.

j'ai lu que c'est une bonne pratique de créer autant de fichiers tempdb que vous avez de CPU (ou de Core?). Est-ce exact? Y a-t-il d'autres recommandations, par exemple pour la configuration harddisk/RAID je devrais faire attention ?

Merci!

16
demandé sur splattne 2008-12-11 19:57:50

5 réponses

si je devais choisir une personne en qui j'ai confiance pour des conseils sur la configuration d'un serveur, ce serait Denny Cherry. Il a écrit un article expliquant cela.

http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1307255,00.html

6
répondu G Mastros 2008-12-11 17:21:49

voici ce que j'ai cherché moi-même à partir d'une variété de sources.

afin d'optimiser les performances de tempdb, faites attention à la configuration physique du disque, à la configuration du fichier, ainsi qu'à certains paramètres de la base de données.

configuration physique du disque

tempdb devrait résider sur son dédié disques physiques. Cela lui permet de diviser les transactions E/S du reste des volumes sur le SQL Serveur.

pour déplacer tempdb vers un nouveau lecteur de disques, utilisez ALTER DATABASE. C'est la commande T-SQL clé pour effectuer cette opération. Microsoft offre un bon exemple dans les livres SQL Server 2005 en ligne. Le nom de l'article est ALTER DATABASE( Transact-SQL) et la section spécifique est ' G. déplacement de tempdb à un nouvel endroit.'

la tempdb est une base de données à très haut niveau d'écriture. Donc, un RAID 5 n'est pas le bon endroit pour ça. Vous devriez mettre le tempdb sur un RAID 0 ou un RAID 10 tableau comme ils sont optimisés pour les applications à haute écriture. Si vous pouvez vous permettre des tableaux RAID 0 ou RAID 10 supplémentaires pour chaque fichier de base de données physique pour la tempdb, vous obtiendrez des performances accrues.

fichiers de Base de données

Vous devriez avoir un fichier physique par noyau CPU dans le serveur. Donc, si vous avez un serveur double puce, double noyau, vous devriez avoir quatre fichiers de base de données physiques pour la base de données tempdb. En ajoutant plus de base de données fichiers, il est important de configurer les fichiers à l' même taille initiale et avec les mêmes paramètres de croissance. De cette façon, SQL Server écrira les données à travers les fichiers aussi uniformément que possible.

Taille du fichier de la base de données

la taille de La base de données tempdb peuvent affecter les performances d'un système. Par exemple, si la taille définie pour tempdb est trop petite, une partie de la charge de traitement du système peut être prise en charge avec autogrowing tempdb à la taille requise pour supporter la charge de travail chaque fois que vous redémarrez L'instance de SQL Server. Vous pouvez éviter ces frais généraux en augmentant les tailles des données tempdb et le fichier journal.

la détermination de la taille appropriée pour tempdb dans un environnement de production dépend de nombreux facteurs, y compris la charge de travail existante et les fonctionnalités SQL Server qui sont utilisées. Microsoft vous recommande d'analyser la charge de travail existante en exécutant les tâches suivantes dans un serveur SQL test environnement:

  1. Définir la croissance automatique de la base de données tempdb (dans un environnement d'essai!).
  2. exécuter des requêtes individuelles ou des fichiers de traçage de la charge de travail et surveiller l'utilisation de l'espace tempdb.
  3. exécuter des opérations de maintenance d'index, telles que la reconstruction d'index et surveiller l'espace tempdb.
  4. utilisez les valeurs d'utilisation de l'espace des étapes précédentes pour prévoir votre utilisation totale de la charge de travail; ajustez cette valeur pour l'activité concurrente projetée, et ensuite définir la taille de tempdb conséquent.

les recommandations de taille minimale pour tempdb sont les suivantes:

   Envir. Size  DB Size (MB)  Log Size (MB)
   -----------  ------------  -------------
   Small                1024            256
   Medium               5120           1024
   Large               10024           2048

paramètres de la base de données

vous pouvez augmenter la performance de tempdb de désactiver les statistiques de mise à jour automatique, ce qui sauvera un peu de travail pour votre tempdb. Vous pouvez également définir l' option créer automatiquement des statistiques sur false.

avertissement: les paramètres doivent être changés avec soin. Selon le type de charge que vous placez sur votre tempdb, le fait de modifier les paramètres pourrait avoir un impact négatif sur les performances du système.

pour obtenir un rendement tempdb optimal, suivez les directives et les recommandations fournies dans Optimiser les Performances de tempdb.

comment surveiller l'utilisation de tempdb?

Exécution hors de l'espace disque dans la base de données tempdb causent des perturbations importantes dans le serveur SQL environnement de production et peut empêcher les applications qui sont en cours d'exécution d'achever les opérations.

Vous pouvez utiliser le sys.dm_db_file_space_usage vue de gestion dynamique pour surveiller l'espace disque utilisé par ces fonctionnalités dans les fichiers tempdb. De plus, pour surveiller l'attribution de page ou l'activité de désallocation dans tempdb au niveau de la session ou de la tâche, vous pouvez utiliser le sys.dm_db_session_space_usage et sys.dm_db_task_space_usage vues sur la gestion dynamique.

Ces vues peuvent être utilisées pour identifier les requêtes importantes, temporaire tables, ou variables de table qui utilisent beaucoup d'espace disque tempdb. Il y a aussi plusieurs compteurs qui peuvent être utilisés pour surveiller l'espace libre disponible dans tempdb ainsi que les ressources qui utilisent tempdb.

Liens:

31
répondu splattne 2010-07-07 11:05:36

D'après ce que j'ai lu, il est préférable de mettre tempDB sur son propre disque physique (ou tableau). Pour une vitesse maximale, vous pouvez utiliser un tableau raid 0. Cependant, si l'un des disques tombe en panne, le serveur de la base de données deviendra inopérant. Si vous voulez plus de redondance, mettez-la sur un raid 10. La vraie clé semble être de la séparer des autres bases de données car il peut y avoir beaucoup d'activité dans TempDB.

Jusqu'où vous allez dépend vraiment des autres bases de données sur le serveur et si elles font beaucoup de travail avec des tables Temporaires, etc.

Je n'ai pas entendu parler de plusieurs fichiers basés sur le nombre de CPU ou de cœurs.

2
répondu NYSystemsAnalyst 2008-12-11 17:14:13

Voir aussi cet affichage SQL Server Transaction Log RAID qui contient une discussion sur la mise en page du serveur qui touche à certains des problèmes autour de tempdb.

2
répondu ConcernedOfTunbridgeWells 2017-05-23 11:43:55

je vous recommande de créer des fichiers de données entre 1/2 et 1/4 * nombre de cœurs. vous devez placer ces fichiers sur le disque plus rapide que vous avez

pour plus d'informations, vous pouvez regarder ici: SQL Server tempdb configuration

0
répondu BramCrombach 2013-03-06 00:31:23