|
v7: 1С 7.7 SQL база то тормозит, то не тормозит | ☑ | ||
---|---|---|---|---|
0
Холст
15.09.11
✎
17:11
|
база по меркам зубров наверное небольшая 5гигов, 20 юзеров по сети к серверу SQL 2005 (т.е. не в терминале), стоит патч Ромикса
чем можно пытаться отловить тормоза ? а, особенно, как сделать чтобы когда начались тормоза - юзер запустил какой нибудь у себя скрипт и чтобы пособиралась в это время статистика по наиболее вероятным уязвимым местам ? |
|||
1
andrewks
15.09.11
✎
17:12
|
почему 27.1 не хочешь попробовать?
|
|||
2
Mikeware
15.09.11
✎
17:12
|
мониторинг от софтпойнта
|
|||
3
Холст
15.09.11
✎
17:14
|
(1) видел, но не пробовал... сильно помогает ?
(2) для софтпойнта нет сотен нефти |
|||
4
andrewks
15.09.11
✎
17:15
|
(3) 1. да вроде особо не жалуются.
там только есть некоторые проблемы, если прямые запросы используются. а так - всё тихо |
|||
5
Холст
15.09.11
✎
17:20
|
(4) начал читать,
благодаря 27.1 можно перейти в режим совместимости с 2005 и должна повыситься скорость ? стремновато как то http://infostart.ru/public/82018/ если кто из читающих вдруг не найдет |
|||
6
Patrio_
O_Muerte 15.09.11
✎
17:21
|
Поищи в модулях ВыбратьПодчиненныеДокументы(,,) без дат - мне очень сильно жизнь портил в свое время.
|
|||
7
Холст
15.09.11
✎
17:26
|
(6) спасибо
|
|||
8
andrewks
15.09.11
✎
17:29
|
а чё не хотите её в терминальник файловой загнать? летать будет
|
|||
9
Холст
15.09.11
✎
17:32
|
(8) жмут бабло
|
|||
10
Холст
15.09.11
✎
17:34
|
да и небыстро это переехать на новый сервак
|
|||
11
Холст
21.09.11
✎
11:58
|
подниму веточку... пока мы на релизе 1С 7.7 27платформа. может быть можно посмотреть обновление статистики SQL сервера ? как узнать состояние статистики (давно ли обновлялась) ?
|
|||
12
VladZ
21.09.11
✎
11:59
|
(0) Для начала посмотри загрузку самого сервака: проц/память/диски.
|
|||
13
VladZ
21.09.11
✎
11:59
|
+12 Потом уже SQL ковыряй.
|
|||
14
VladZ
21.09.11
✎
12:01
|
Я бы начал с диска.
|
|||
15
Mikeware
21.09.11
✎
12:02
|
Есть замечательный скрипт анализа от vde69. Лежит на инфостарте.
|
|||
16
chief accountant
21.09.11
✎
12:12
|
(11) У таблиц в статистике и посмотри
|
|||
17
vde69
21.09.11
✎
12:54
|
Скрипт выполнить в Мастерс, потом вызвать созданую ХП
расшифровки результатов http://www.sqldev.net/misc/waittypes.htm расшифровку результатов на русском и в более полном варианте http://msdn.microsoft.com/ru-ru/library/ms179984.aspx сам скрипт // тестирование SQL сервера // // После создания вызываешь EXEC track_waitstats 300, 1 // // 300 - минуты скока мерить // 1 - интервал в минутах CREATE proc get_waitstats AS SET nocount ON DECLARE now datetime,@totalwait numeric(20,1) ,@endtime datetime,@begintime datetime ,hr int,@min int,@sec int SELECT now=max(now),@begintime=min(now),@endtime=max(now) FROM waitstats WHERE [wait type] = 'Total' -- Subtract waitfor, sleep, and resource_queue from total. SELECT @totalwait = sum([wait time]) + 1 FROM waitstats WHERE [wait type] NOT IN ('WAITFOR','SLEEP','RESOURCE_QUEUE', 'Total', '***total***') AND now = now DELETE waitstats WHERE [wait type] = '***total***' AND now = now INSERT INTO waitstats SELECT '***total***',0,@totalwait,@totalwait,now SELECT [wait type],[wait time],percentage=cast (100*[wait time]/@totalwait AS numeric(20,1)) FROM waitstats WHERE [wait type] NOT IN ('WAITFOR','SLEEP','RESOURCE_QUEUE','Total') AND now = now ORDER BY percentage desc GO CREATE proc track_waitstats (@num_samples int=10,@delaynum int=1,@delaytype nvarchar(10)='minutes') AS SET nocount ON IF NOT EXISTS (SELECT 1 FROM sysobjects WHERE name = 'waitstats') CREATE table waitstats ([wait type] varchar(80), requests numeric(20,1), [wait time] numeric (20,1), [signal wait time] numeric(20,1), now datetime default getdate()) ELSE truncate table waitstats dbcc sqlperf (waitstats,clear) -- Clear out waitstats. DECLARE i int,@delay varchar(8),@dt varchar(3),now datetime, @totalwait numeric(20,1),@endtime datetime,@begintime datetime,hr int, @min int,@sec int SELECT i = 1 SELECT @dt = case lower(@delaytype) WHEN 'minutes' THEN 'm' WHEN 'minute' THEN 'm' WHEN 'min' THEN 'm' WHEN 'mm' THEN 'm' WHEN 'mi' THEN 'm' WHEN 'm' THEN 'm' WHEN 'seconds' THEN 's' WHEN 'second' THEN 's' WHEN 'sec' THEN 's' WHEN 'ss' THEN 's' WHEN 's' THEN 's' ELSE @delaytype END IF @dt NOT IN ('s','m') BEGIN PRINT 'please supply delay type e.g. seconds or minutes' RETURN END IF @dt = 's' BEGIN SELECT @sec = @delaynum % 60 SELECT @min = cast((@delaynum / 60) AS int) SELECT hr = cast((@min / 60) AS int) SELECT @min = @min % 60 END IF @dt = 'm' BEGIN SELECT @sec = 0 SELECT @min = @delaynum % 60 SELECT hr = cast((@delaynum / 60) AS int) END SELECT @delay= right('0'+ convert(varchar(2),hr),2) + ':' + + right('0'+convert(varchar(2),@min),2) + ':' + + right('0'+convert(varchar(2),@sec),2) IF hr > 23 or @min > 59 or @sec > 59 BEGIN SELECT 'hh:mm:ss delay time cannot > 23:59:59' SELECT 'delay interval and type: ' + convert (varchar(10),@delaynum) + ',' + @delaytype + ' converts to ' + @delay RETURN END WHILE (i <= @num_samples) BEGIN INSERT INTO waitstats ([wait type], requests, [wait time],[signal wait time]) EXEC ('dbcc sqlperf(waitstats)') SELECT i = i + 1 waitfor delay @delay END -- Create report. EXECUTE get_waitstats GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO |
|||
18
chief accountant
21.09.11
✎
12:57
|
(17) 404 - Page Not Found
|
|||
19
Кириллка
21.09.11
✎
13:28
|
(0)а версию скуля поточнее?
|
|||
20
МихаилМ
21.09.11
✎
15:45
|
скорее всего у Вас проблема
"Setting database option RECOVERY to SIMPLE for database" |
|||
21
МихаилМ
21.09.11
✎
15:47
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |