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

Откуда: Санкт-Петербург
Сообщений: 175
Есть сервер с 24 Гб памяти. На сервере стоит Windows Server 2003 x64 Enterprise Edition и крутится Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64).
Как лучше настроить tempdb и почему?
Вариант 1. Вынести tempdb на диск (отдельный RAID, диск с системой, на диск вместе с другими базами - это уже отдельный вопрос). SQL-серверу отдать 23 Гб из 24 имеющихся (1Гб оставить системе).
Вариант 2. Создать RAM-диск (пусть будет 4 Гб). Tempdb положить на этот диск (можно сделать tempdb из нескольких файлов и разложить на RAM-диск и локальные диски, чтобы не ограниченичивать tempdb 4 Гб). Соответственно, SQL-серверу отдать 19 Гб из 24 имеющихся (1Гб оставить системе, 4 - RAM-диску).
Какой вариант предпочтительней и почему?
26 июл 12, 18:21    [12921454]     Ответить | Цитировать Сообщить модератору
 Re: засовывать tempdb в RAM-диск или нет.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37061
А что делать, когда 4 Гб под tempdb не хватит?
26 июл 12, 18:23    [12921461]     Ответить | Цитировать Сообщить модератору
 Re: засовывать tempdb в RAM-диск или нет.  [new]
mism
Member

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

можно сделать tempdb из нескольких файлов и разложить на RAM-диск и локальные диски, чтобы не ограниченичивать tempdb 4 Гб
26 июл 12, 18:35    [12921545]     Ответить | Цитировать Сообщить модератору
 Re: засовывать tempdb в RAM-диск или нет.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37061
mism
Гавриленко Сергей Алексеевич,

можно сделать tempdb из нескольких файлов и разложить на RAM-диск и локальные диски, чтобы не ограниченичивать tempdb 4 Гб
Можно, но очень парит потом с физических файлов tempdb выгонять обратно на Ram-диск.
26 июл 12, 18:49    [12921615]     Ответить | Цитировать Сообщить модератору
 Re: засовывать tempdb в RAM-диск или нет.  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
имхо, с 24-мя Гб париться с рам диском не стоит. только если мониторинг покажет, что темп_дб сильно грузится и является проблемным местом.
З.Ы. а 4 гига для рам диска это я так понимаю из-за бесплатности оного?
26 июл 12, 19:24    [12921742]     Ответить | Цитировать Сообщить модератору
 Re: засовывать tempdb в RAM-диск или нет.  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 175
Дедушка,
Не угадали, не из-за бесплатности. Есть например ImDisk Virtual Disk Driver который распространяется совершенно свободно и работает неплохо (правда есть нюансы - например нельзя создать отформатированный RAM-диск при загрузке, а на неформатированный мне базу запихнуть не удалось).

С базой tempdb в RAM-диске я наблюдал следующую картину. После перезагрузки SQL-сервер начинает потихоньку "съедать" всю память которая дана ему в настройках. Пока память до конца не съедена, размер tempdb не увеличивается находясь на минимуме. Как только SQL-сервер съел всю память, начинает расти размер tempdb.
Поэтому интуитивно вроде понятно что RAM-диск делать смысла не имеет, а лучше отдать эту память SQL-серверу, но как строго обосновать это я не знаю.
26 июл 12, 21:13    [12922046]     Ответить | Цитировать Сообщить модератору
 Re: засовывать tempdb в RAM-диск или нет.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
mism
Дедушка,
Не угадали, не из-за бесплатности. Есть например ImDisk Virtual Disk Driver который распространяется совершенно свободно и работает неплохо (правда есть нюансы - например нельзя создать отформатированный RAM-диск при загрузке, а на неформатированный мне базу запихнуть не удалось).

С базой tempdb в RAM-диске я наблюдал следующую картину. После перезагрузки SQL-сервер начинает потихоньку "съедать" всю память которая дана ему в настройках. Пока память до конца не съедена, размер tempdb не увеличивается находясь на минимуме. Как только SQL-сервер съел всю память, начинает расти размер tempdb.
Поэтому интуитивно вроде понятно что RAM-диск делать смысла не имеет, а лучше отдать эту память SQL-серверу, но как строго обосновать это я не знаю.
Начните с чтения рекомендации разработчиков.
http://support.microsoft.com/kb/917047
26 июл 12, 21:25    [12922071]     Ответить | Цитировать Сообщить модератору
 Re: засовывать tempdb в RAM-диск или нет.  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
mism,
и вот это посмотрите put tempdb on a ram drive
27 июл 12, 09:49    [12923287]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить