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

Откуда:
Сообщений: 27
Есть MSSQL 2005, с ним работает большое кол-во пользователей!
Иногда сиквел начинает тормозить и многие соединения обрываються по таймауту.

Как мне узнать в какой ситуации и при каких запросах начинает тормозить сиквел?
(Пытался проанализировать профайлером, нашел долго выполняющиеся процедуры, оптимизировал их, залипание осталось)
6 сен 11, 14:27    [11234641]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
Dukhota 77
начинает тормозить сиквел?

на чём происходят ожидания?
6 сен 11, 14:28    [11234648]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
select wait_type, wait_time, blocking_session_id,  * from sys.dm_exec_requests
6 сен 11, 14:31    [11234670]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Dukhota 77
Member

Откуда:
Сообщений: 27
Le Peace
Dukhota 77
начинает тормозить сиквел?

на чём происходят ожидания?



Так вот сам не могу понять....(((
Бывает такое, что промотр списка процедур 20-30 сек загружает, а обычно сразу!
6 сен 11, 14:39    [11234765]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
Dukhota 77
Так вот сам не могу понять....(((
А надо :)
См. выше, а ещё посмотрите счётчики - с каким ресурсом проблемы.
6 сен 11, 14:41    [11234784]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Dukhota 77
Member

Откуда:
Сообщений: 27
Le Peace,

+
***total*** 7790662.0 100.0
DBMIRRORING_CMD 3069984.0 39.4
DBMIRROR_SEND 1397937.0 17.9
BROKER_TASK_STOP 1194609.0 15.3
LAZYWRITER_SLEEP 1049265.0 13.5
SQLTRACE_BUFFER_FLUSH 536000.0 6.9
OLEDB 287125.0 3.7
WRITELOG 181546.0 2.3
SLEEP_BPOOL_FLUSH 37453.0 0.5
PAGEIOLATCH_SH 24046.0 0.3
ASYNC_NETWORK_IO 6078.0 0.1
IO_COMPLETION 2093.0 0.0
ASYNC_IO_COMPLETION 703.0 0.0
SQLTRACE_SHUTDOWN 0.0 0.0
MSQL_SYNC_PIPE 0.0 0.0
QUERY_TRACEOUT 0.0 0.0
DTC_STATE 0.0 0.0
FCB_REPLICA_WRITE 0.0 0.0
FCB_REPLICA_READ 0.0 0.0
SNI_LISTENER_ACCESS 0.0 0.0
EXECUTION_PIPE_EVENT_INTERNAL 0.0 0.0
ASSEMBLY_LOAD 0.0 0.0
TIMEPRIV_TIMEPERIOD 0.0 0.0
INTERNAL_TESTING 0.0 0.0
WAIT_FOR_RESULTS 0.0 0.0
SOS_SCHEDULER_YIELD 562.0 0.0
SOS_VIRTUALMEMORY_LOW 0.0 0.0
SOS_RESERVEDMEMBLOCKLIST0.0 0.0
SOS_LOCALALLOCATORLIST 0.0 0.0
SOS_CALLBACK_REMOVAL 0.0 0.0
LOWFAIL_MEMMGR_QUEUE 0.0 0.0
BACKUP 0.0 0.0
BACKUPBUFFER 0.0 0.0
BACKUPIO 0.0 0.0
BACKUPTHREAD 0.0 0.0
DBMIRROR_DBM_MUTEX 0.0 0.0
DBMIRROR_DBM_EVENT 0.0 0.0
PAGEIOLATCH_UP 140.0 0.0
PAGEIOLATCH_EX 390.0 0.0
PAGEIOLATCH_DT 0.0 0.0
TRAN_MARKLATCH_NL 0.0 0.0
TRAN_MARKLATCH_KP 0.0 0.0
TRAN_MARKLATCH_SH 0.0 0.0
TRAN_MARKLATCH_UP 0.0 0.0
TRAN_MARKLATCH_EX 0.0 0.0
TRAN_MARKLATCH_DT 0.0 0.0
CHKPT 0.0 0.0
SLEEP_TASK 1593.0 0.0
SLEEP_SYSTEMTASK 0.0 0.0
RESOURCE_SEMAPHORE 0.0 0.0
DTC 0.0 0.0
FAILPOINT 0.0 0.0
ASYNC_DISKPOOL_LOCK 0.0 0.0
THREADPOOL 0.0 0.0
DEBUG 0.0 0.0
REPLICA_WRITES 0.0 0.0
BROKER_RECEIVE_WAITFOR 0.0 0.0
CURSOR_ASYNC 0.0 0.0
HTTP_ENUMERATION 0.0 0.0
SOAP_READ 0.0 0.0
SOAP_WRITE 0.0 0.0
DUMP_LOG_COORDINATOR 0.0 0.0
DISKIO_SUSPEND 0.0 0.0
IMPPROV_IOWAIT 0.0 0.0
QNMANAGER_ACQUIRE 0.0 0.0
DEADLOCK_TASK_SEARCH 0.0 0.0
REPL_SCHEMA_ACCESS 0.0 0.0
REPL_CACHE_ACCESS 0.0 0.0
SQLSORT_SORTMUTEX 0.0 0.0
SQLSORT_NORMMUTEX 0.0 0.0
SQLTRACE_WAIT_ENTRIES 0.0 0.0
SQLTRACE_LOCK 156.0 0.0
MISCELLANEOUS 0.0 0.0
LCK_M_SCH_S 0.0 0.0
LCK_M_SCH_M 0.0 0.0
LCK_M_S 140.0 0.0
LCK_M_U 15.0 0.0
LCK_M_X 46.0 0.0
LCK_M_IS 0.0 0.0
LCK_M_IU 0.0 0.0
LCK_M_IX 0.0 0.0
LCK_M_SIU 0.0 0.0
LCK_M_SIX 0.0 0.0
LCK_M_UIX 0.0 0.0
LCK_M_BU 0.0 0.0
LCK_M_RS_S 0.0 0.0
LCK_M_RS_U 0.0 0.0
LCK_M_RIn_NL 0.0 0.0
LCK_M_RIn_S 0.0 0.0
LCK_M_RIn_U 0.0 0.0
LCK_M_RIn_X 0.0 0.0
LCK_M_RX_S 0.0 0.0
LCK_M_RX_U 0.0 0.0
LCK_M_RX_X 0.0 0.0
LATCH_NL 0.0 0.0
LATCH_KP 0.0 0.0
LATCH_SH 0.0 0.0
LATCH_UP 0.0 0.0
LATCH_EX 0.0 0.0
LATCH_DT 0.0 0.0
PAGELATCH_NL 0.0 0.0
PAGELATCH_KP 0.0 0.0
PAGELATCH_SH 0.0 0.0
PAGELATCH_UP 31.0 0.0
PAGELATCH_EX 546.0 0.0
PAGELATCH_DT 0.0 0.0
PAGEIOLATCH_NL 0.0 0.0
PAGEIOLATCH_KP 0.0 0.0
HTTP_ENDPOINT_COLLCREATE 0.0 0.0
EXCHANGE 0.0 0.0
DBTABLE 0.0 0.0
EC 0.0 0.0
TEMPOBJ 0.0 0.0
XACTLOCKINFO 0.0 0.0
LOGMGR 0.0 0.0
CMEMTHREAD 0.0 0.0
CXPACKET 0.0 0.0
CURSOR 0.0 0.0
EXECSYNC 0.0 0.0
SOSHOST_INTERNAL 0.0 0.0
SOSHOST_SLEEP 0.0 0.0
SOSHOST_WAITFORDONE 0.0 0.0
SOSHOST_MUTEX 0.0 0.0
SOSHOST_EVENT 0.0 0.0
SOSHOST_SEMAPHORE 0.0 0.0
SOSHOST_RWLOCK 0.0 0.0
SOSHOST_TRACELOCK 0.0 0.0
MSQL_XP 203.0 0.0
MSQL_DQ 0.0 0.0
LOGBUFFER 0.0 0.0
TRANSACTION_MUTEX 0.0 0.0
MSSEARCH 0.0 0.0
XACTWORKSPACE_MUTEX 0.0 0.0
CLR_JOIN 0.0 0.0
CLR_CRST 0.0 0.0
CLR_SEMAPHORE 0.0 0.0
CLR_MANUAL_EVENT 0.0 0.0
CLR_AUTO_EVENT 0.0 0.0
CLR_MONITOR 0.0 0.0
CLR_RWLOCK_READER 0.0 0.0
CLR_RWLOCK_WRITER 0.0 0.0
SQLCLR_QUANTUM_PUNISHMENT 0.0 0.0
SQLCLR_APPDOMAIN 0.0 0.0
SQLCLR_ASSEMBLY 0.0 0.0
KTM_ENLISTMENT 0.0 0.0
KTM_RECOVERY_RESOLUTION 0.0 0.0
KTM_RECOVERY_MANAGER 0.0 0.0
SQLCLR_DEADLOCK_DETECTION 0.0 0.0
QPJOB_WAITFOR_ABORT 0.0 0.0
QPJOB_KILL 0.0 0.0
BAD_PAGE_PROCESS 0.0 0.0
BACKUP_OPERATOR 0.0 0.0
PRINT_ROLLBACK_PROGRESS 0.0 0.0
ENABLE_VERSIONING 0.0 0.0
DISABLE_VERSIONING 0.0 0.0
REQUEST_DISPENSER_PAUSE 0.0 0.0
DROPTEMP 0.0 0.0
FT_RESTART_CRAWL 0.0 0.0
FT_RESUME_CRAWL 0.0 0.0
LOGMGR_RESERVE_APPEND 0.0 0.0
LOGMGR_FLUSH 0.0 0.0
XACT_OWN_TRANSACTION 0.0 0.0
XACT_RECLAIM_SESSION 0.0 0.0
DTC_WAITFOR_OUTCOME 0.0 0.0
DTC_RESOLVE 0.0 0.0
SEC_DROP_TEMP_KEY 0.0 0.0
SRVPROC_SHUTDOWN 0.0 0.0
NET_WAITFOR_PACKET 0.0 0.0
DTC_ABORT_REQUEST 0.0 0.0
DTC_TMDOWN_REQUEST 0.0 0.0
RECOVER_CHANGEDB 0.0 0.0
WORKTBL_DROP 0.0 0.0
MIRROR_SEND_MESSAGE 0.0 0.0
SNI_HTTP_ACCEPT 0.0 0.0
SNI_HTTP_WAITFOR_0_DISCON 0.0 0.0
UTIL_PAGE_ALLOC 0.0 0.0
SERVER_IDLE_CHECK 0.0 0.0
BACKUP_CLIENTLOCK 0.0 0.0
DEADLOCK_ENUM_MUTEX 0.0 0.0
INDEX_USAGE_STATS_MUTEX 0.0 0.0
VIEW_DEFINITION_MUTEX 0.0 0.0
QUERY_NOTIFICATION_MGR_MUTEX 0.0 0.0
QUERY_NOTIFICATION_TABLE_MGR_MUT 0.0 0.0
QUERY_NOTIFICATION_SUBSCRIPTION_ 0.0 0.0
QUERY_NOTIFICATION_UNITTEST_MUTE 0.0 0.0
IMP_IMPORT_MUTEX 0.0 0.0
RESOURCE_SEMAPHORE_MUTEX 0.0 0.0
IO_AUDIT_MUTEX 0.0 0.0
BUILTIN_HASHKEY_MUTEX 0.0 0.0
SOS_PROCESS_AFFINITY_MUTEX 0.0 0.0
MSQL_XACT_MGR_MUTEX 0.0 0.0
MSQL_XACT_MUTEX 0.0 0.0
QRY_MEM_GRANT_INFO_MUTEX 0.0 0.0
SOS_STACKSTORE_INIT_MUTEX 0.0 0.0
SOS_SYNC_TASK_ENQUEUE_EVENT 0.0 0.0
SOS_OBJECT_STORE_DESTROY_MUTEX 0.0 0.0
EE_PMOLOCK 0.0 0.0
RESOURCE_SEMAPHORE_QUERY_COMPILE 0.0 0.0
RESOURCE_SEMAPHORE_SMALL_QUERY 0.0 0.0
FULLTEXT GATHERER 0.0 0.0
SEQUENTIAL_GUID 0.0 0.0


Сообщение было отредактировано: 6 сен 11, 17:50
6 сен 11, 15:02    [11234966]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
Dukhota 77,

во-первых, нужны не только эти поля, а как минимум ещё session_id, ну и ещё какие-то, надо смотреть.
Во-вторых, нужны строчки, у которых время ожидания каким-то образом отличается от 0.
В-третьих, нужен не один срез, а много (через какой-то промежуток времени), и в тот момент, когда у вас база "залипает", у вас должны появиться ненулевые строчки.
6 сен 11, 15:10    [11235072]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Dukhota 77
Member

Откуда:
Сообщений: 27
Le Peace
Dukhota 77,

во-первых, нужны не только эти поля, а как минимум ещё session_id, ну и ещё какие-то, надо смотреть.
Во-вторых, нужны строчки, у которых время ожидания каким-то образом отличается от 0.
В-третьих, нужен не один срез, а много (через какой-то промежуток времени), и в тот момент, когда у вас база "залипает", у вас должны появиться ненулевые строчки.



У тебя есть такой скрипт?
6 сен 11, 15:20    [11235196]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Dukhota 77
У тебя есть такой скрипт?


Товарищ - вы зачем над нами издеваетесь?

-session_id есть столбец все той же дайнемик-вьюхи sys.dm_exec_requests
-время ожидания=столбец wait_time все той же вьюхи
-отличается от 0: where wait_time>0 у все той же вьюхи

Вы какой скрипт просите?
6 сен 11, 17:49    [11236731]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Dukhota 77
Member

Откуда:
Сообщений: 27
SamMan
Dukhota 77
У тебя есть такой скрипт?


Товарищ - вы зачем над нами издеваетесь?

-session_id есть столбец все той же дайнемик-вьюхи sys.dm_exec_requests
-время ожидания=столбец wait_time все той же вьюхи
-отличается от 0: where wait_time>0 у все той же вьюхи

Вы какой скрипт просите?


Мне нужен скрип или методика при помощи которого, я найду проблемное место БД.
Проблема у меня возникает очень редко, никакой закономерности... я просто не в состоянии постоянно запускать эту вьюху в надежде, когда словлю залипающую базу!

Если существуют каки-либо рекомендации, буду очень рад попробовать....
6 сен 11, 20:16    [11237518]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
Dukhota 77,

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

И настройте нужные счётчики производительности, чтобы они в файл писались.

И трассу тоже.
7 сен 11, 09:55    [11238603]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать почему залипает база?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Dukhota 77, скрип-скрип,

Будете хамить - получите бан. Первое и последнее предупреждение.
7 сен 11, 12:31    [11239888]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить