|
|
|
Регулярно подвисает SQL2000
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа! У меня регулярно подвисает SQL server 2000. Дело выглядит так: он загружаем оба процессора на сервере под 100 процентов и очень дохло реагирует на все выборки. Процессы при этом абсолютно линейны, типа select * from ... А такое ощущение, что его зациклило (кто виновник - непонятно). Раньше в форуме обсуждался этот вопрос, но поиск, почему-то недоступен. Может объясните, как найти виновника этого подвисания через статистику. Это скорее всего какой-то клиент. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2002, 17:07:16 |
|
||
|
Регулярно подвисает SQL2000
|
|||
|---|---|---|---|
|
#18+
Отследить такого "вредителя" можно в Profiler, если подумать над фильтром, так, что бы трассировались только продолжительные запросы. А причиной подвисания может стать банальный свопинг, который лечится простым добавлением ОЗУ или оптимизацией самих запросов, выбором действенных индексов (хотя бы в ITW) и настройками использования памяти и процессоров для MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2002, 18:55:26 |
|
||
|
Регулярно подвисает SQL2000
|
|||
|---|---|---|---|
|
#18+
К сожалению, памяти у сервера достаточно. Из имеющихся 2Гб используется только 1,2 Гб. Но процессоры загруженны полностью. Все запросы, которые поступают в процессе подвисания и непосредственно до него я уже оптимизировал (Index tuning wizard). Они и вправду стали работать быстрее. Может, есть еще идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2002, 11:14:26 |
|
||
|
Регулярно подвисает SQL2000
|
|||
|---|---|---|---|
|
#18+
Сначала определите, как посоветовал Александр Гладченко, какой запрос/пользователь является "виновником". После этого устройте "разбор полетов" У меня, например, запрос типа WHERE field LIKE 'xxxx%' работал нормально, но когда пользователь создал запрос вида field LIKE 'xxxx%' OR field LIKE 'yyyy%' OR field LIKE 'zzzz%' и так до 1000 (!!!!) условий, то ни хватило ни 2Gb памяти ни 2-х процессоров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2002, 11:33:14 |
|
||
|
Регулярно подвисает SQL2000
|
|||
|---|---|---|---|
|
#18+
так вот именно определить виновника я и не могу. Какими средствами пользоваться, а главное - КАК? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2002, 12:17:10 |
|
||
|
Регулярно подвисает SQL2000
|
|||
|---|---|---|---|
|
#18+
Самый элементарный - sp_who поможет увидеть номера коннектов со статусом runnable - dbcc inputbuffer("номер коннекта") поможет получить что именно запущено на выполнение (правда только первые 255 символов, но все же). - также на всякий случай полезно посмотреть что показывет sp_lock для этих коннектов. Более сложный метод - настроить Profiler(скорее всего на события SP: StmtCompleted и SP:StmtStarting, если ваше зависание влияет лишь время выполнения, но можно и вообще все) с выводом результатов в файл/таблицу. - создать ситуацию с "зависанием" - проанализировать полученную таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2002, 12:36:06 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3455&tid=1821949]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 306ms |

| 0 / 0 |
