powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос tempdb на ram диск
10 сообщений из 10, страница 1 из 1
Перенос tempdb на ram диск
    #40041998
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Подскажите пожалуйста как правильно протестировать скорость работы tempdb?

Сейчас tempdb лежит на быстрых SSD в RAID 0 из двух дисков. Хочу ускорить работу tempdb путём переноса на ram диск.
Создал ram диск, проверил скорость чтения записи утилитой Disk benchmark. Скорость сильно выше чем была на SSD. Пробую работать с tempdb скорость практически не изменилась. Может я не правильно тесты провожу или ещё что-то не так делаю, почему скорость работы с tempdb не увеличилась?

Версия: SQL Server 2017 CU22

Пример теста

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
create table #tmp(field1 int)

declare
 @d1 datetime,
 @i int,
 @x int = 0

insert into #tmp(field1)
select field1
from mytable with (nolock)
where field2 = 2

-- @@ROWCOUNT примерно 8 млн.

set @d1 = GETDATE()

while @x < 100
begin

 select @i = count(*)
 from #tmp
 where field1 = @x

 update #tmp set
  field1 = field1 + 1
 where field1 = @x

 set @x = @x + 1

end

select DATEDIFF(MILLISECOND,@d1,GETDATE())

drop table #tmp
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042028
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сабж уже на ССД, то перенос на РАМ не даст практически ничего.
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042037
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

не надо, там и так нормально все оптимизировано,
а так вы сильно сократили буферный пул,
лучше просто положите tempdb на RAID 10
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042055
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin
Сейчас tempdb лежит на быстрых SSD в RAID 0 из двух дисков. Хочу ускорить работу tempdb путём переноса на ram диск.
Есть объективные предпосылки или так, для "большей лучшести"?
Mandarin
Пример теста
Этот тест ни о чем. Практически все манипуляции будут в BP без физического IO.

А хоть как-то сравнить можно так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
use tempdb;
set ansi_nulls, quoted_identifier, xact_abort on;
go

create table dbo.t (id int identity primary key, filler char(8000));

insert into dbo.t
 (filler)
 select top (10000)
  'a'
 from
  master.dbo.spt_values a cross join
  master.dbo.spt_values b;
go

set statistics time on;
checkpoint;
set statistics time off;
go

drop table dbo.t;
go
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042091
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
Практически все манипуляции будут в BP без физического IO.
Простым методом добиться физического I/O получиться только на редакции Express?

Использовать только для попытки смягчения условий лицензии, как с редакцией Standard ?
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042112
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tunknown
Простым методом добиться физического I/O получиться только на редакции Express?
Критерий простоты какой?

Как сделать для записи я показал.
Для чтения можно взять обычную БД, сделать ей offline-online и выполнить запрос на чтение таблицы.
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042129
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin
Всем привет! Подскажите пожалуйста как правильно протестировать скорость работы tempdb?

Сейчас tempdb лежит на быстрых SSD в RAID 0 из двух дисков. Хочу ускорить работу tempdb путём переноса на ram диск.
Создал ram диск, проверил скорость чтения записи утилитой Disk benchmark. Скорость сильно выше чем была на SSD. Пробую работать с tempdb скорость практически не изменилась. Может я не правильно тесты провожу или ещё что-то не так делаю, почему скорость работы с tempdb не увеличилась?


Патамушто гладиолус.
Учиться надо и не будет глупых иллюзий.

1. MS SQL обучен использовать память лучше, чем RAM-диск. Сервер - суть гигантский кэш над диском.
2. TEMPDB практически не пишет на диск. Если может.
3. Займитесь оптимизацией запросов - больше толку будет.
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042365
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

смысла нет, сервер лучше использует память, чем прокладка из операционной системы.
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042377
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще никто не спросил, почему было решено, что tempdb -- узкое место? И что надо оптимизировать именно эту базу и именно в части io?
...
Рейтинг: 0 / 0
Перенос tempdb на ram диск
    #40042634
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

безусловно важный вопрос, но он опоздал, так как автор уже выполнил замену.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перенос tempdb на ram диск
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]