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

Откуда:
Сообщений: 19
Доброго дня!

Профессионалы - поделитесь опытом, насколько замедляет работу с БД использование версионого режима (пишущие транзакции не блокируют читающие)? Можно-ли использовать этот режим в промышленной эксплуатации? Проводил-ли кто нибудь нагрузочного тестирования в этом режиме?

Версионный режим включаем следующем образом:
ALTER DATABASE xxx SET READ_COMMITTED_SNAPSHOT ON
Для всех сессий выставляем уровень изоляции транзакций:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT

Судя по документации, в режиме snapshot версии записей хранятся в TempDB, которая и без этого является узким местом. Насколько это критично? На какие "подводные камни" можно нарваться?
1 июл 09, 12:27    [7362855]     Ответить | Цитировать Сообщить модератору
 Re: Производительность режиме Snapshot  [new]
Crimean
Member

Откуда:
Сообщений: 13148
up! :)
1 июл 09, 17:27    [7364978]     Ответить | Цитировать Сообщить модератору
 Re: Производительность режиме Snapshot  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3217
skm
Версионный режим включаем следующем образом:
ALTER DATABASE xxx SET READ_COMMITTED_SNAPSHOT ON
Для всех сессий выставляем уровень изоляции транзакций:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT
Ничего, что это два разных, никак не связанных с собой режима версионности? Документацию изучите повнимательней и решите, какой из них вам нужен.

Где-то встречал оценку в 2-6%% потери перфоманса при включении версионирования первого режима и, кажется, до 15% для второго. Если не изменяет память, то это даже было где-то в BOL.
1 июл 09, 17:34    [7365010]     Ответить | Цитировать Сообщить модератору
 Re: Производительность режиме Snapshot  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
Профессионалы - поделитесь опытом, насколько замедляет работу с БД использование версионого режима (пишущие транзакции не блокируют читающие)?


практически не замедляет, если это OLTP система.

автор
Можно-ли использовать этот режим в промышленной эксплуатации? Проводил-ли кто нибудь нагрузочного тестирования в этом режиме?


Нужно. Промышленная эксплуатация = лучшее нагрузочное тестирование.

автор
Судя по документации, в режиме snapshot версии записей хранятся в TempDB, которая и без этого является узким местом. Насколько это критично?


У Вас действительно tempdb - узкое место?! Кроме того, на SMP системах есть хорошее решение для увеличения ее пропускной способности. Но особого увеличения нагрузки на tempdb не наблюдается.

автор
Версионный режим включаем следующем образом:
ALTER DATABASE xxx SET READ_COMMITTED_SNAPSHOT ON
Для всех сессий выставляем уровень изоляции транзакций:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT


Вай, Вай, Вай... Первая опция нужна, чтобы при дефолтном уровне изоляции RC писатель не блокировал читателя. А вот если Вам нужен новый TIL SNAPSHOT, то необходимо

... SET ALLOW_SNAPSHOT_ISOLATION ON.

Таки разберитесь с версионность...
1 июл 09, 17:38    [7365037]     Ответить | Цитировать Сообщить модератору
 Re: Производительность режиме Snapshot  [new]
skm
Member

Откуда:
Сообщений: 19
Спасибо господа!
Буду изучать матчасть -)
1 июл 09, 17:53    [7365113]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить