Советы по оптимизации базы данных tempdb для нового сервера?

Я планирую новую установку SQL Server 2005 на новую машину, которую я должен заказать. Я знаю, что настройка tempdb очень важна для общей производительности экземпляра SQL Server.

Я читал, что лучше всего создавать столько файлов tempdb, сколько у вас процессоров (или ядер?). Это верно? Существуют ли другие рекомендации, например, для настройки жесткого диска / RAID, на которые я должен обратить внимание?

Спасибо!

11.12.2008 16:57:50
5 ОТВЕТОВ
РЕШЕНИЕ

Если бы мне пришлось выбрать одного человека, которому я доверяю, для совета по настройке сервера, это был бы Денни Черри. Он написал статью, объясняющую это.

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

6
11.12.2008 17:21:49
Я ненавижу те сайты, которые требуют регистрации для того, чтобы прочитать статью
Ravi Wallau 28.09.2009 20:56:53
Я не могу прочитать всю статью, потому что я не зарегистрирован на сайте, но первый абзац содержит общий миф: «При использовании стандартных пользовательских баз данных рекомендуется установить количество физических файлов для каждой базы данных на уровне от .25 до один физический файл на ядро ​​процессора. " Это верно только для TempDB, чтобы избежать общего узкого места в распределении объектов, НЕ для пользовательских баз данных. blogs.msdn.com/b/psssql/archive/2007/02/21/…
Pam Lahoud 20.08.2010 03:25:25
Успокойтесь - вам не нужно регистрироваться, чтобы просмотреть его - просто прокрутите страницу вниз.
David Christiansen 4.04.2014 14:14:59
Ну, я бы доверял, например, Полу Рэндалу, или Бренту Озару, или Аарону Бертрану, или ... MVP или Мастерам MS SQL Server. Который выше, случается, быть. Есть курсы по Pluralsight по SQL Server, написанные Полом и другими. Я бы рекомендовал проконсультироваться с этими мастерами. Между прочим, Пол очень склонен развенчивать распространенные мифы. Статья, рекомендованная G Mastros, действительно начинается с мифов ... поэтому я бы не стал доверять.
darlove 16.08.2017 21:23:39

Из того, что я прочитал, лучше всего поместить tempDB на свой физический диск (или массив). Для максимальной скорости вы можете добавить массив raid 0. Однако, если один из дисков выйдет из строя, сервер БД станет неработоспособным. Если вы хотите больше избыточности, поместите его в массив raid 10. Реальный ключ, кажется, отделяет его от других баз данных, потому что в TempDB может быть такая большая активность.

Как далеко вы зайдете, зависит от других баз данных на сервере и от того, много ли они работают с временными таблицами и т. Д.

Я ничего не слышал о нескольких файлах в зависимости от количества процессоров или ядер.

2
11.12.2008 17:14:13

См. Также эту публикацию SQL Server Transaction Log RAID, которая содержит обсуждение структуры сервера, которая затрагивает некоторые проблемы, связанные с tempdb.

2
23.05.2017 11:43:55

Вот что я исследовал из разных источников.

Для оптимизации производительности базы данных tempdb обратите внимание на конфигурацию физического диска, конфигурацию файлов, а также некоторые параметры в базе данных.

Конфигурация физического диска

tempdb должен находиться на своих собственных выделенных физических дисках . Это позволяет отделить транзакции ввода-вывода от оставшихся томов на SQL Server.

Чтобы переместить базу данных tempdb на новый диск, используйте ALTER DATABASE. Это ключевая команда T-SQL для выполнения этой операции. Microsoft предлагает хороший пример в электронной документации по SQL Server 2005. Название статьи - ALTER DATABASE (Transact-SQL), а конкретный раздел - «G. Перемещение tempdb на новое место.

Tempdb - это база данных с высокой записью. Таким образом, массив RAID 5 не подходит для этого. Вам следует поместить базу данных tempdb в массив RAID 0 или RAID 10, так как они оптимизированы для приложений с высокой записью. Если вы можете позволить себе дополнительные массивы RAID 0 или RAID 10 для каждого физического файла базы данных для базы данных tempdb, вы получите повышенную производительность.

Файлы базы данных

У вас должен быть один физический файл для каждого ядра процессора на сервере . Итак, если у вас двухъядерный двухъядерный сервер, у вас должно быть четыре физических файла базы данных для базы данных tempdb. При добавлении большего количества файлов базы данных важно настроить файлы с одинаковым начальным размером и одинаковыми настройками роста . Таким образом, SQL Server будет записывать данные в файлы максимально равномерно.

Размер файла базы данных

Размер базы данных tempdb может повлиять на производительность системы. Например, если размер, определенный для tempdb, слишком мал, часть нагрузки, связанной с системной обработкой, может быть увеличена за счет автоматического наращивания tempdb до размера, необходимого для поддержки рабочей нагрузки при каждом перезапуске экземпляра SQL Server . Вы можете избежать этих накладных расходов, увеличив размеры данных tempdb и файла журнала.

Определение подходящего размера для базы данных tempdb в производственной среде зависит от многих факторов, включая существующую рабочую нагрузку и используемые функции SQL Server. Microsoft рекомендует проанализировать существующую рабочую нагрузку, выполнив следующие задачи в тестовой среде SQL Server :

  1. Установите автогроу для tempdb (в тестовой среде!) .
  2. Выполнять отдельные запросы или файлы трассировки рабочей нагрузки и отслеживать использование пространства в базе данных tempdb.
  3. Выполните операции обслуживания индекса, такие как перестроение индексов и мониторинг пространства базы данных.
  4. Используйте значения использования пространства из предыдущих шагов, чтобы предсказать общее использование рабочей нагрузки; отрегулируйте это значение для прогнозируемой одновременной активности, а затем соответственно установите размер базы данных tempdb.

Рекомендации по минимальному размеру для tempdb:

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

Настройки базы данных

Вы можете дополнительно увеличить производительность базы данных tempdb, отключив автоматическое обновление статистики , что сохранит вашу базу данных tempdb. Вы также можете установить опцию автоматического создания статистики на false .

Отказ от ответственности: настройки должны быть изменены с осторожностью. В зависимости от типа нагрузки, которую вы помещаете в базу данных tempdb, изменение настроек может отрицательно повлиять на производительность системы.

Для достижения оптимальной производительности базы данных tempdb следуйте рекомендациям и рекомендациям, приведенным в разделе « Оптимизация производительности базы данных tempdb» .

Как контролировать использование tempdb?

Недостаточно места на диске в базе данных tempdb может привести к значительным сбоям в производственной среде SQL Server и помешать выполняющимся приложениям выполнять операции.

Вы можете использовать sys.dm_db_file_space_usageдинамическое административное представление для мониторинга дискового пространства, которое используется этими функциями в файлах tempdb. Кроме того, чтобы контролировать выделение страницы или открепление активность в данной TempDb на сессию или целевого уровне, вы можете использовать sys.dm_db_session_space_usageи sys.dm_db_task_space_usageдинамические представления управления.

Эти представления могут использоваться для идентификации больших запросов, временных таблиц или табличных переменных, которые используют много места на диске tempdb. Есть также несколько счетчиков, которые можно использовать для мониторинга свободного места, доступного в базе данных tempdb, а также ресурсов, использующих базу данных tempdb.

Ссылки:

31
7.07.2010 11:05:36

Я бы порекомендовал создавать файлы данных с количеством ядер от 1/2 до 1/4 *. Вы должны поместить эти файлы на самый быстрый диск, который у вас есть

Для получения дополнительной информации вы можете посмотреть здесь: Конфигурация базы данных SQL Server

0
6.03.2013 00:31:23
Эта статья также хорошо читается о создании файлов на основе количества ядер, которые у вас есть.
user3810900 11.05.2015 06:58:13