Архив рубрики: ПроизводительностьMSsql

Rozetka UA

MS SQL Server, адаптация логических объектов под текущую нагрузку

MS SQL Server. Появилась возможность на одном из серверов реализовать свою давнюю идею. А именно- сервер имел явные проблемы с производительностью. Одной из причин было несовершенство логических структур, явно недоставало индексов. Что было сделано: В цикле специальный скрипт оценивал состояние сервера, в случае если фиксировались проблемы с производительностью запускался второй скрипт. Он выделял из кэша… Читать далее »

О пользе регулярных ревизий запросов в кэше и результативности покрывающих индексов.

О пользе регулярных ревизий запросов в кэше и результативности покрывающих индексов. На одном из серверов в плане запросов (процедура) были выявлены дорогие операции Один запрос: RID Lookup, две по одной таблице 887 Mb data Второй запрос: Key Lookup, одна, по таблице 14.3 Gb data Особых замечаний по производительности не высказывалось, в то же время было… Читать далее »

Сценарий Get all SQL Statements with «table scan» in cached query plan

Очень ценный и полезный скрипт, спасибо автору!   Источник: Сценарий Get all SQL Statements with «table scan» in cached query plan Description: «Table scan» (and also «Index scan») can cause poor performance, especially when they are performed on large tables. To identify queries causing such scans you can use the SQL Profiler with the events… Читать далее »

Учись, школота, запросы писать или о пользе регулярных ревизий кода

Разбирался почему некий сервер медленно работает, попался запрос на глаза. Не могу не поделиться с миром отдельными его фрагментами: То есть, несколько join собирают колоссальное количество rows, после чего из этого мракобесия вычисляется 1 rows. Был впечатлен и озадачен. И еще, на одном из серверов нашел потрясающую штуку- в плане запроса шла вставка во временную… Читать далее »

Реакция MS SQL SERVER на необходимость увеличения количества объектов блокировки

Некоторое время назад один заслуженный сервер выводился из эксплуатации. Ну и возникла идея устроить ему напоследок эдакое стресс-тестирование. Являются ли счетчики «Lock Blocks Allocated|SQLServer:Memory Manager|» и «Lock Owner Blocks Allocated|SQLServer:Memory Manager|» постоянными величинами? По идее, некоторое динамическое перераспределение памяти должно быть, но фактически оно наблюдается? Не пойдет ли после использования 40% эскалация блокировки? Параметры сервера… Читать далее »

Способ уменьшения пиковых нагрузок на MS SQL Server

Обратил внимание- на MS SQL Server периодически возникает ситуация ненормальной но непродолжительной нагрузки. Анализ показал, что причиной является вызов JOB-ов. Они вызываются по времени, создают синхронную нагрузку. Можно ли их как-то развести без серьезных изменений логики и шедулера? Можно- очень просто. В один из самых напряженных скриптов был добавлен такой фрагмент:   DECLARE @wt VARCHAR(12)… Читать далее »

MS SQL Server, traceflag для запрета параллелизма

В 12 версии появился такой вот интересный флаг трассировки, которого раньше очень не хватало: 9495 Disables parallelism during insertion for INSERT…SELECT operations and it applies to both user and temporary tables. For more information, see Microsoft Support article   Иногда с ожиданиями CXPACKET и SOS_SCHEDULER_YIELD  возникала следующая проблема- их величина достигала нескольких тысяч секунд в минуту. Фактически… Читать далее »

Административные скрипты MS SQL

Административные скрипты MS SQL   Автору огромное спасибо! Я эти вещи делаю иначе, но посмотреть-сравнить всегда любопытно.   — текущая ситуация на сервере (выполняемые запросы) select session_id, status, wait_type, command, last_wait_type, percent_complete, qt.text, total_elapsed_time/1000 as [total_elapsed_time, сек], wait_time/1000 as [wait_time, сек], (total_elapsed_time — wait_time)/1000 as [work_time, сек] from sys.dm_exec_requests as qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as… Читать далее »

Кэш планов и параметризация запросов. Часть 1. Анализ кэша планов. | Сайт сообщества DIRECTUM

Источник: Кэш планов и параметризация запросов. Часть 1. Анализ кэша планов. | Сайт сообщества DIRECTUM   План выполнения запроса Для начала давайте в общих чертах посмотрим, как происходит выполнение SQL-запросов сервером Microsoft SQL. Процессор запросов (query processor), который и занимается выполнением SQL-запросов, поступивших на SQL-сервер, и выдачей их результатов клиенту, состоит из двух основных компонентов:… Читать далее »

Запросы выполняющиеся в текущий момент на MS SQL Server включая текст запроса

Адаптация скрипта из книги: Performance Tuning with SQL Server Dynamic Management Views Louis Davidson and Tim Ford Немного докрутил, немного добавил. Скрипт проверен, рабочий. Позволяет выявлять процессы наиболее агрессивно потребляющие ресурсы, с текстом выполняемых запросов. Оболочка иногда искажает символы,  текст скрипта дополнительно приведен в текстовом документе   — Who is running what at this instant —… Читать далее »

Pratik UaPratik UaPratik Ua