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

Откуда:
Сообщений: 4
Используемая база MS SQL 2008 R2
Операционная система Windows XP SP3
Установлен apache, сайт на php и игровой сервер. Они оба работают с одной базой и таблицами.

На самом деле я не очень хорошо знаю все данные о сервере, поскольку не являюсь его владельцем, но при необходимости могу выяснить.

Суть проблемы следующая: в произвольное время (никакой периодичности замечено не было) база, а именно запросы в нее начинают выполняться слишком долго, что, естественно, приводит к зависанию сайта, игрового сервера до 5 минут. Игроки вылетают из игры.

Через profiler отслеживаю запросы, которые выполняются больше 100 мс. Во время подвисания обычные запросы, которые в нормальное время выполняются 0.3 с и меньше, выполняются по 10с и больше. Процессор при этом не загружается, температуры на сервере приемлемые - перегрев или нагрев исключаются.

Понимаю, что предоставленная мной характеристика железа и ОС весьма расплывчаты и недостаточны, но так уж получилось, что владелец сервера сильно занят, а я имею лишь удаленный доступ. Изначально все прекрасно работало, проблема появилась со временем и иногда даже неделями не дает о себе знать. Я бы подумал, что данных слишком много и база не справляется с их обработкой, но тогда бы это было постоянно.
12 июл 13, 23:41    [14561114]     Ответить | Цитировать Сообщить модератору
 Re: Произвольное подвисание базы  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
gumer,

смотрите блокировки
13 июл 13, 03:25    [14561510]     Ответить | Цитировать Сообщить модератору
 Re: Произвольное подвисание базы  [new]
gumer
Member

Откуда:
Сообщений: 4
Через perfomance monitor я заметил во время подвисания следующие изменения: avg. disk queue length "зашкаливает" и я уже выяснил, что это возникает при запросах, которые возвращают слишком много строк, например, 500 000. За счет SELECT TOP 500 удалось от этого избавиться. Что интересно, в профайлер запросы, которые являются причиной возникновения зависания, не попадают, как будто они и не выполняются до конца.

Пока следил за этим монитором, в момент очередного зависания подскочил до 100% processor time и опять же это стало причиной подвисания базы. Как выяснить, MS SQL загрузила так сильно базу или другие процессы?
13 июл 13, 17:56    [14562096]     Ответить | Цитировать Сообщить модератору
 Re: Произвольное подвисание базы  [new]
Гость333
Member

Откуда:
Сообщений: 3683
gumer
Как выяснить, MS SQL загрузила так сильно базу или другие процессы?

Например, посмотреть в Task manager (Диспетчер задач Windows) вкладку "Процессы".
13 июл 13, 18:26    [14562125]     Ответить | Цитировать Сообщить модератору
 Re: Произвольное подвисание базы  [new]
gumer
Member

Откуда:
Сообщений: 4
База данных запущена другим пользователем - этот процесс я не вижу вообще. И диспетчер задач не позволяет вести логирование, ну и показывает только значение в текущий момент времени. В performance monitor есть множество показателей, но как-то мне не удалось в интернете найти нужного.
13 июл 13, 20:12    [14562343]     Ответить | Цитировать Сообщить модератору
 Re: Произвольное подвисание базы  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
gumer,

Захватите трассу и показания счетчиков за нужный период, наложите одно на другое и станет ясно кто крайний.
ЗЫ: менеджер задач см бесптлезно.
14 июл 13, 03:23    [14563188]     Ответить | Цитировать Сообщить модератору
 Re: Произвольное подвисание базы  [new]
gumer
Member

Откуда:
Сообщений: 4
То ли прав не хватает, то ли что, но я не могу логировать в performance monitor, только наблюдать.
15 июл 13, 12:30    [14566815]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить