Эксплуатация SQL Server

Read Committed Snapshot Isolation: преимущества и цена

При lock-based Read Committed читатели и писатели блокируют друг друга. RCSI снижает блокировки версиями строк, но меняет использование ресурсов и поведение.

Read Committed Snapshot Isolation: преимущества и цена

При lock-based Read Committed читатели и писатели блокируют друг друга. RCSI снижает блокировки версиями строк, но меняет использование ресурсов и поведение.

Что измерять

Измеряйте reader-writer blocking, рост version store в TempDB, длинные транзакции, требования приложения к согласованности и срок хранения старых версий.

Практический подход

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

Чего следует избегать

Не называйте snapshot reads грязным чтением, не включайте RCSI только для сокрытия медленных транзакций и не игнорируйте TempDB.

Эксплуатационный результат

RCSI значительно улучшает параллельность, если семантика и стоимость версий приняты осознанно.

Проверка перед production

Зафиксируйте исходные показатели и определите ожидаемое улучшение. Проверьте решение на репрезентативных данных и при реальной параллельной нагрузке. Сохраните исходную настройку или план, подготовьте откат и наблюдайте следующий обычный пик нагрузки.

Чтобы применить этот подход к конкретной среде SQL Server, используйте форму ниже и укажите версию SQL Server, размер базы, профиль нагрузки и уже собранные данные.

Вопрос по статье

Есть вопрос по этой теме?

Расскажите, что вы оцениваете или с какой проблемой столкнулись. Мы ответим с практической рекомендацией.

Inquiries are not enabled in this preview.

Задать вопрос по этой статье