tyratam
Дата: 21.01.2009 16:45:21
как редактировать сообщение не разобрался. повторяю здесь
Microsoft SQL Server 2005 - 9.00.3042.00 (X64) Feb 10 2007 00:59:02 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)
4-е 4-х ядерных проца, 64 ГБ памяти Windows Server 2003 ДатаЦентр
Показатель transactions/sec в базе master равен в среднем 800 транзакций в секунду
во всех остальных базах суммарное количество не больше 200 (из них больше половины приходится на tempdb).
"Виновник" такого ненормального значения найден. Это одна страничка сайта на asp? которая вызывает две хранимых процедуры (из рабочей базы. не master!).
Обе процедуры работают только на чтение; отбор идет по первичному ключу; максимум одна запись в результирующем рекордсете; селект выполняется с with(nolock).
Отключение вызова любой! из процедур ведет к уменьшению показателя в два раза.
Если отключить вызоб обеих - показатель стремится к "почти нулю" (десять-двадцать).
Откуда берутся и что делают эти транзакции в базе мастер? Как с ними бороться?
[quote]В MS SQL в режиме неявных транзакций (дефолтный) каждая отдельная инструкция - отдельная транзакция вне зависимости от ее типа и хинтов.
[/quote]
Я понимаю, но первая процедура содержит несколько селектов (3-5), вторая только один. А эфект от отключения одинаковый.
[quote]
Что это за страничка, которая 250 раз в секунду дергается и, самое главное, чего ей в бд master надобно?![/quote]
Клиентов много (интернет), и все ее дергают регулярно.
А вот что ей в мастере надо, сам не пойму.