MS SQL Server 2005 (?) тормозит
От: pioneer23  
Дата: 19.01.11 16:44
Оценка:
Всем привет,

Уверен, что вопрос глупый, так что звиняйте сразу. Но что-то я не пойму в чем дело. Так что прошу помощи знатоков.

Дело вот в чем. Раньше аппликуха с MS SQL Server-ом работала быстро вне зависимости от того, сколько времени к нему не было обращений (т.е. сколько она стояла без дела). С какого-то момента, который я не уловил, при первом обращении к серверу аппикуха "подвисает" на заметное время. Потом работает все так же быстро, как и до этого было. Оставишь буквально на несколько минут — возвращаешься, делаешь какое-то действие, вызывающее обращение к БД — опять ждешь секунд 10-15. После этого, если ее периодически дергать, все работает мгновенно. Оставишь на чуть-чуть — опять двадцать пять, первое действие еле-еле.

Накидайте, пожалуйста, вариантов, куда копнуть. Или, может кто-то сталкивался и знает, из-за чего это может быть.

Никакой сложно работы не происходит, клиент — .net 2, работа через обычные SqlConnection/SqlCommand, дергаются хранимые процедуры, которые возвращают данные.

Кстати, есть момент — на той же машине веб сервис, который работает с той же базой. Так вот, если его никто не трогает, а потом кто-то дергает его метод, который обращается к БД, то та же картина — в лог попадает сообщенеие о тайм-ауте (т.к. он там меньше) — типа, базу достать не удалось. А вот на второе обращение к тому же методу — уже все ок.

Притом, если дернуть веб-сервис, дать ему прокакаться, то аппликуха не тормозит, даже если к ней не обращались долгое время. Поэтому грешу именно на SQL Server.
Re: MS SQL Server 2005 (?) тормозит
От: Sinix  
Дата: 19.01.11 17:01
Оценка:
Здравствуйте, pioneer23, Вы писали:

P>Притом, если дернуть веб-сервис, дать ему прокакаться, то аппликуха не тормозит, даже если к ней не обращались долгое время. Поэтому грешу именно на SQL Server.

Настроено авто-закрытие базы?
Re[2]: MS SQL Server 2005 (?) тормозит
От: pioneer23  
Дата: 19.01.11 17:15
Оценка:
S>Настроено авто-закрытие базы?

Auto Close False...
Re[2]: MS SQL Server 2005 (?) тормозит
От: pioneer23  
Дата: 19.01.11 17:21
Оценка:
S>Настроено авто-закрытие базы?

Вот единственное, что как-то могло бы относиться в логе:
2011-01-19 16:37:11.95 Server Server resumed execution after being idle 10787 seconds: user activity awakened the server. This is an informational message only. No user action is required.

Но такого плана сообщение одно-единственное. "Протормаживаний" случалось за сегодня гораздо больше.
Re: MS SQL Server 2005 (?) тормозит
От: rm822 Россия  
Дата: 19.01.11 22:20
Оценка:
P>Притом, если дернуть веб-сервис, дать ему прокакаться, то аппликуха не тормозит, даже если к ней не обращались долгое время. Поэтому грешу именно на SQL Server.
данные у тебя видимо из кэша сиквела вытесняются, проверяй дисковый IO
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: MS SQL Server 2005 (?) тормозит
От: Sinix  
Дата: 20.01.11 00:57
Оценка:
Здравствуйте, pioneer23, Вы писали:

P>Вот единственное, что как-то могло бы относиться в логе:

P>2011-01-19 16:37:11.95 Server Server resumed execution after being idle 10787 seconds: user activity awakened the server. This is an informational message only. No user action is required.

P>Но такого плана сообщение одно-единственное. "Протормаживаний" случалось за сегодня гораздо больше.

Продолжаем гадать по фотороботу

1. Посмотреть perfmon-ом потребление памяти и ввод-вывод sql server-а. Если память очищается по idle, а жёсткий дёргается по первому обращению — грабля в настройках сервера.
2. Гугль подсказывает — у вас не стоит в строке соединения "user instance=true"? Если у вас — не express, вопрос снимается сам собой, т.к. в прочих этой "фичи" нет.
3. Глянуть sql profiler-ом. Если проблемы проявятся, пока к серверу подключён профайлер — грабли в кэше (как подсказали выше) и в запросе, кушающем много данных без индексов.
4. На серверной машине не стоит ничего кроме самого sql server-а, что активно жрёт память? Антивирус/файрволл? Может, что-то тупо рвёт соединения? Тормоза — при подключении, или при первом запросе?

Угу... и ещё по ссылке выше:

You can control whether a database is closed automatcially or not using the 'Auto Close' property (Clever name that...) but the fact that SQL Express scales back it's working set after a period of idle time is not configurable.

If you're application demands high availability in terms of never going idle, you will need to purchase one of the higher Editions of SQL Server.


Как-то так
Re[2]: MS SQL Server 2005 (?) тормозит
От: pioneer23  
Дата: 21.01.11 06:42
Оценка:
R>данные у тебя видимо из кэша сиквела вытесняются, проверяй дисковый IO

Я один работаю с этой БД, или такое может быть и в этом случае? Это SQLEXPRESS.
Re[4]: MS SQL Server 2005 (?) тормозит
От: pioneer23  
Дата: 21.01.11 06:47
Оценка:
Спасибо за детальные подсказки! Сорри, забыл сразу сказать, это SQLEXPRESS. Я — его единственный пользователь.

S>2. Гугль подсказывает — у вас не стоит в строке соединения "user instance=true"? Если у вас — не express, вопрос снимается сам собой, т.к. в прочих этой "фичи" нет.


Не стояло, действительно. Но и раньше не стояло, а все было ок. Сейчас поставил — не помогло.

S>3. Глянуть sql profiler-ом. Если проблемы проявятся, пока к серверу подключён профайлер — грабли в кэше (как подсказали выше) и в запросе, кушающем много данных без индексов.


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

S>4. На серверной машине не стоит ничего кроме самого sql server-а, что активно жрёт память? Антивирус/файрволл? Может, что-то тупо рвёт соединения? Тормоза — при подключении, или при первом запросе?


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

S>Угу... и ещё по ссылке выше:

S>

S>You can control whether a database is closed automatcially or not using the 'Auto Close' property (Clever name that...) but the fact that SQL Express scales back it's working set after a period of idle time is not configurable.

S>If you're application demands high availability in terms of never going idle, you will need to purchase one of the higher Editions of SQL Server.


Вполне возможно.

Спасибо еще раз за подсказки.
Re[5]: MS SQL Server 2005 (?) тормозит
От: Sinix  
Дата: 21.01.11 07:21
Оценка:
Здравствуйте, pioneer23, Вы писали:

S>>2. Гугль подсказывает — у вас не стоит в строке соединения "user instance=true"? Если у вас — не express, вопрос снимается сам собой, т.к. в прочих этой "фичи" нет.

P>Не стояло, действительно. Но и раньше не стояло, а все было ок. Сейчас поставил — не помогло.
Наоборот, ставить не надо. Убирайте!

S>>3. Глянуть sql profiler-ом. Если проблемы проявятся, пока к серверу подключён профайлер — грабли в кэше (как подсказали выше) и в запросе, кушающем много данных без индексов.

P>Т.к. данных совсем немного и я единственный юзер — то есть сомнения, конечно. Но спасибо, попробую.
Давайте
Пока остаётся вариант с виртуалкой и подозрение на "фичу" express-а, но смущает внезапность появления граблей. Не припомните, что могло поменяться? Используется ли SQL CLR? Я пару раз видел такое поведение для managed-хранимых процедур/триггеров.

Повторю вопрос: тормоза — при подключении, или при первом запросе?

P>Спасибо еще раз за подсказки.

Не, спасибо будет когда кто-то поможет или оно само починится обратно. А пока поиск крайнего методом тыка
Re[3]: MS SQL Server 2005 (?) тормозит
От: Sinix  
Дата: 21.01.11 07:23
Оценка:
Здравствуйте, pioneer23, Вы писали:

R>>данные у тебя видимо из кэша сиквела вытесняются, проверяй дисковый IO


P>Я один работаю с этой БД, или такое может быть и в этом случае? Это SQLEXPRESS.

И в этом случае. Sql server (и express — в особенности) освобождает память, если её не хватает прочему софту.
Re: MS SQL Server 2005 (?) тормозит
От: pioneer23  
Дата: 04.02.11 12:36
Оценка:
P>Притом, если дернуть веб-сервис, дать ему прокакаться, то аппликуха не тормозит, даже если к ней не обращались долгое время. Поэтому грешу именно на SQL Server.

Сорри за перерыв... немного одолели другие проблемы.

Еще одно уточнение, как кажется важное. Переустановил софт на ту же машину, на которой стоит собственно инстанс сиквела. Все проблемы исчезли — работает быстро как понос. Та машина, на которой софт стоял до этого — виртуалка bridged. Физически запущена была на другой машине. Но никаких проблем с сетью не было и нет... в т.ч. в других приложениях. Т.е. другое ничего не "тормозило" или еще как-то работало некорректно. Вообщем, нич-чего не понимаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.