Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 tempdb на RAM-диске  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33972
Блог
Коллеги, интересен ваш опыт по переносу tempdb на RAM-диск.

В качестве приложения - 1С, очень активно использует tempdb.
Есть возможность расширить объем оперативной памяти до 64ГБ и выделить 24Гб только на tempdb.

Конфигурацию предполагаю такую:
Всего будет 8 файлов данных tempdb.

На RAM-диске:
1) 1 файл лога, он займет 25% RAM-диска
2) 7 файлов данных, которые займут в равных долях весь остальной свободный объем
Для этих файлов сразу установить максимальное значение объема и запретить авторост.
Проценты пока оценочные. Если есть другое мнение с обоснованием, то буду рад услышать.

На HDD:
1) 1 файл лога, 1Мб, неограниченный рост
2) 1 файл данных, 1Мб, неограниченный рост

Делимся опытом/возникавшими и решенными проблемами/какое ПО для RAM-дисков использовали )
25 авг 11, 12:50    [11177222]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
Критик
На HDD:
1) 1 файл лога, 1Мб, неограниченный рост
2) 1 файл данных, 1Мб, неограниченный рост
Это вообще вынос мозга для сервера. Зачем из файлов делать кашу на диске? Сделайте заранее нужных размеров, или с хорошим запасом. А если уж выставлять прирост, то 128-256 Мб, не меньше.
25 авг 11, 12:53    [11177271]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
З.Ы. Это, правда, не по теме было.

Сообщение было отредактировано: 25 авг 11, 12:54
25 авг 11, 12:54    [11177276]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
А. Понял о чем вы. Это дополнительные файлы, на тот случай, если вылезет за 24 Гб. Но все равно приращивать не по 1 Мб.
25 авг 11, 12:55    [11177301]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
Теперь по теме. Мне, имхо, было бы жалко откусывать треть оперативной памяти. Мы в свое время рассмотривали такой вариант, но отказались, купили внешние. Теперь и от них будем отказываться, заменять на СХД.
25 авг 11, 12:58    [11177352]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
komrad
Member

Откуда:
Сообщений: 5252
Гавриленко Сергей Алексеевич
А. Понял о чем вы. Это дополнительные файлы, на тот случай, если вылезет за 24 Гб. Но все равно приращивать не по 1 Мб.


стоит наверно сначала оценить кол-во autogrowth событий для tempdb. Например, по дефолтному трейсу.
хотя, 1МБ, это конечно маловато )
на своих серверах ставлю 100МБ
25 авг 11, 12:58    [11177357]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
Критик,
тынц
по теме 1С и tempdb... это далеко не всегда является "узким" местом.
25 авг 11, 13:09    [11177485]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
Дедушка
Критик,
тынц
Ну, не знаю. Методика тестирования может и подходила для 2000го, а сейчаc явно что-то не то выходит (цикл сократил до минуты):

Локальная станция с sata-дисками: iterations 1 762 982
Тестовый сервер с RAM-драйвами: iterations 1 081 734
25 авг 11, 13:23    [11177605]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33972
Блог
Коллеги, под "1Мб" имелся начальный размер файла, а не прирост.

Почему начальный размер 1Мб - т.к. сервер пишет данные пропорционально, то на 1Мб придется весьма небольшая нагрузка по сравнению с остальными файлами.
25 авг 11, 13:24    [11177610]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
З.Ы. Microsoft SQL Server 2008 (SP2) - 10.0.4064.0 (Intel X86) Feb 25 2011 14:22:23 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
25 авг 11, 13:24    [11177612]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
Критик
Коллеги, под "1Мб" имелся начальный размер файла, а не прирост.

Почему начальный размер 1Мб - т.к. сервер пишет данные пропорционально, то на 1Мб придется весьма небольшая нагрузка по сравнению с остальными файлами.
Про изначальный размер - понятно. Про прирост - ну, не то увидели. ;)
25 авг 11, 13:25    [11177629]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Нектотам
Guest
Критик,

а точно IO tempdb узкое место? что говорит такой запрос?
select db_name(database_id) db_name, *	
from sys.dm_io_virtual_file_stats ( NULL, NULL )
order by io_stall desc
25 авг 11, 14:21    [11178251]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33972
Блог
Нектотам,

База удаленная. Сейчас мне не доступна.
Но на такой запрос:

-- i/o-нагрузка на файлы
SELECT TOP 10 DB_NAME(saf.dbid) AS [База данных],
       saf.name AS [Логическое имя],
       vfs.BytesRead/1048576 AS [Прочитано (Мб)],
       vfs.BytesWritten/1048576 AS [Записано (Мб)],
       saf.filename AS [Путь к файлу]
  FROM master..sysaltfiles AS saf
  JOIN ::fn_virtualfilestats(NULL,NULL) AS vfs ON vfs.dbid = saf.dbid AND
                                                  vfs.fileid = saf.fileid AND
                                                  saf.dbid NOT IN (1,3,4)
  ORDER BY vfs.BytesRead/1048576 + BytesWritten/1048576 DESC

Результат на картинке:

К сообщению приложен файл. Размер - 57Kb
25 авг 11, 14:49    [11178540]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Нектотам
Guest
Критик,

Объём в байтах в данном случае не совсем тот показатель. Всё-таки покажите "order by io_stall desc".
26 авг 11, 06:44    [11182114]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33972
Блог
Вот, даные после разделения tempdb на 8 файлов и сжатия самых больших таблиц проблемных баз:

К сообщению приложен файл. Размер - 125Kb
26 авг 11, 07:59    [11182177]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
наутилус
Member

Откуда: UA
Сообщений: 1261
Критик,

так какие выводы по выносу Tempdb на рам-диск? помогло? или лучше максимально серверу память отдать?
3 ноя 11, 17:47    [11548020]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10730
Блог
Если учесть, что под tempdb буферный пул тоже в оперативке размещается, то при ограниченном ОЗУ вижу в размещении её на рамдиске только вред. Полюбому, оперативка дороже нескольких лишних шпинделей...
7 ноя 11, 16:33    [11559258]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
наутилус
Member

Откуда: UA
Сообщений: 1261
Александр Гладченко,

ну у нас оперативки "хватает". потому решили вынести. пока только плюсы от этой ситуации
7 ноя 11, 16:44    [11559349]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10730
Блог
наутилус
Александр Гладченко,

ну у нас оперативки "хватает". потому решили вынести. пока только плюсы от этой ситуации


Везёт вам... а у нас её мало, всего 512Гб, а tempdb бывает пухнет от промежуточных материализаций до двух терабайт....
7 ноя 11, 16:48    [11559374]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
наутилус
Member

Откуда: UA
Сообщений: 1261
Александр Гладченко,

нам 320 пока хватает )
объёмы-то поменьше ваших будут )
да и tempdb так не пухнет пока что
7 ноя 11, 16:54    [11559420]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10730
Блог
наутилус,

Дай вам Бог, что бы любой нереламентированный запрос, не обрушил вам всю систему :)
7 ноя 11, 16:57    [11559438]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Ruiner
Member

Откуда: СПб
Сообщений: 64
я выносил.
в нашем случае на темп была приличная нагрузка, а лежал он вместе с базой на одном RAID 6.
было 8 гиг темпдб. стало 2 гб на рамдиске.
объёмы у нас, конечно, смешные на фоне Александра...
как было:

К сообщению приложен файл. Размер - 13Kb
7 ноя 11, 16:59    [11559456]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Ruiner
Member

Откуда: СПб
Сообщений: 64
как стало:

К сообщению приложен файл. Размер - 44Kb
7 ноя 11, 16:59    [11559460]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10730
Блог
Ruiner,

Я бы, на вашем месте, администраторам SAN кое что поотрывал, что бы не городили один массив под все файлы данных и журналов, да ещё и RAID6...

Оперативка, это одно из верхних хранилищ во всей иерархии кеширования данных. Выше только те кеши, которые на сокете... Размещая файлы на том же уровне, что и кеш, вы поступаете в разрез с тем, что планируют вендоры для оптимизации цены решения. Хочу намекнуть на то, что тех же результатов можно добиться меньшей кровью...
7 ноя 11, 17:05    [11559516]     Ответить | Цитировать Сообщить модератору
 Re: tempdb на RAM-диске  [new]
Ruiner
Member

Откуда: СПб
Сообщений: 64
Александр Гладченко,

увы, приходится работать с тем, что есть...
добавить оперативки оказалось самым простым путём.

сейчас на новом сервере еле отбился от raid 6 при помощи sqlio. :)
7 ноя 11, 17:12    [11559586]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить