Имя: Пароль:
1C
1С v8
Прошу дать дельные ссылки на оптимизацию 1с8+SQL
0 Sintez123
 
24.07.13
11:38
Вот и мы приехали к тормозам на 1с. На решение задачи "Ускорить 1с в 10 раз" мне дали аж 30 минут ))) Бюджет разумеется 0 рублей.

В первую очередь хотелось бы понять как находить узкое место, а не бездумно выполнять действия и советы, которые в данной ситуации вообще бесполезны.

Очень надеюсь получить ссылки на подробные статьи, который вам понравились. В первую очередь по поиску слабых мест.

Гилёва я читал уже - всё в кучу намешал, никакой структуры имхо. Стиль аля "Попробуйте увеличить память, если не помогло попробуйте..." стоп! Это "попробуйте" стоит денег и/или кучи времени. Так что перед тем как "побробовать" хотелось бы четко понимать может ли это помочь, и почему именно это может помочь. А для этого надо найти эти узкие места.

С удовольствием приму в дар платные обработочки по теме :) Типа "Центр управления производительностью"
[email protected]
1 Галахад
 
гуру
24.07.13
11:39
За 30 минут не успеть, так что можно не париться.
2 Maxus43
 
24.07.13
11:40
>>мне дали аж 30 минут
Время вышло, увольняйся
3 zva
 
24.07.13
11:40
за 30 минут советую 3 конверта подготовить...
4 ДенисЧ
 
24.07.13
11:40
Переиндексация, обновление статистик стоит?
Мониторинг загрузки сервера по перфмону делали? Диски на скорость тестировали?
5 mikecool
 
24.07.13
11:42
(0) грамотный админ
6 Sorm
 
24.07.13
11:42
(0) Все методы по железу и оптимизации БД обсосаны 10 раз на форуме и у Гилева того же. Вчера, позавчера.
7 ДенисЧ
 
24.07.13
11:42
(5) За полчаса найти грамотного админа? Да ты шутишь...
8 Aleksey
 
24.07.13
11:44
(6) нет ничего, все методы тут на форуме сводятся к банальным, типа посмотри монитор, увидел там цифры? а теперь зави специалиста, потому что что они значат никто не знает (ну или просто посылают с умным видом, типа в поиски ищи)
9 mikecool
 
24.07.13
11:45
(7) ну минут 40-45, хорошо )))
10 Sorm
 
24.07.13
11:45
(7) Полчаса спокойно хватит на заметное ускорение - при условии, что база до этого никак не оптимизировалась:) Желательно бы услышать ещё платформу, версию операционки и SQL. Но зачем такие мелочи TC?:)
11 Aleksey
 
24.07.13
11:46
или другой вариант, типа поставил у себя локально файловую на компе с i7 и 32 гигами памяти на ССД в райде-0 - у меня всё летает, а почему у вас со 100 человеками на сервере тормозит, хз - это вы наверное что-то дописали, или у вас железо кривое
12 Maxus43
 
24.07.13
11:46
Чтобы серъёзно заниматься этим вопросом - надо делать нагрузочное тестирование.
Есно без этого только банальные ответы и будут
13 Sorm
 
24.07.13
11:47
(8) Да глупости, я вчера давал конкретные инструкции, что делать. И не только я.
14 Sintez123
 
24.07.13
11:48
(1) (2) (3) Разумеется делать всё равно придется :) так что хоть 3 недели. Попыток уложиться в сроки у меня не наблюдалось :)

(4) Переиндексацию могу вечером сделать, но это опять же не то. Я ведь не понимаю надо ее делать или нет. А хотелось бы понимать причины тормозов, а уже потом делать. Обновление каких статистик? Мониторинг поверхностно делался, ну память там не вся завалена, процы тоже.

(10) в том то и проблема что база уже хорошенько оптизировалась :) даже tempDB лежит на рамдрайве :) постарались. Phost 4 процесса, как надо всё.

WinServer 64x, 8.2. SQL 2008 R2
15 ДенисЧ
 
24.07.13
11:49
(14) Надо не вечером, а регулярно. А статистики - так и вообще каждый день.
Всё это в джобы.
16 ДенисЧ
 
24.07.13
11:49
А мониторинг нужно делать не поверхносто, а тщательно
17 Sintez123
 
24.07.13
11:49
(12) вот уже хорошо, ближе к теме. Как делать нагрузочное тестирование? (паралельно гуглю)
18 Maxus43
 
24.07.13
11:49
(14) это регламент по обслуживанию базы, индексы, статитстики... этого то точно навалом с примерам в инете. Если этого не делается - дальше говорить смысла нет вобще
19 Sintez123
 
24.07.13
11:50
(16) Полностью согласен. Как его делать? Лучше ссылкой на статью :) Оптимизацией я никогда ранее не занимался, не приходилось.
20 Aleksey
 
24.07.13
11:50
Сколько у вас людей, что "Phost 4 процесса, как надо всё.". Просто 1С рекомендует для 64-х разрядного сервера предприятий 1 rphost
21 vde69
 
модератор
24.07.13
11:50
для начала проведи анкетирование пользователей

1. Что именно "тормозит" (например "отчет ОСВ за 1 квартал формируется 10 минут")
2. Какие именно показатели устроят пользователей (например "Отчет ОСВ за 1 квартал должен формироватся 2 секунды")

только после этого имеет смысл вообще приступать к решению проблеммы.
22 Господин ПЖ
 
24.07.13
11:51
>На решение задачи "Ускорить 1с в 10 раз" мне дали аж 30 минут

заявление "по собственному" пишется быстрее

>Гилёва я читал уже - всё в кучу намешал, никакой структуры имхо. Стиль аля "Попробуйте увеличить память, если не помогло попробуйте..."

мартышко и очки... каждому ламерюге надо в рот жеванной морковкой поплевать...
23 Maxus43
 
24.07.13
11:51
(17) Это творческий процесс. Покупаешь ЦУП, настраиваешь под себя (стандартные операции юзеров), запускаешь виртуальных зверьков и смотришь проблемы. Понятно будет узкое место, часто просто кодом решается
24 LehhaK
 
24.07.13
11:52
25 Sintez123
 
24.07.13
11:52
(18) Вот я смотрю консоль заданий, задания есть, но похоже вообще не выполняются. Или я не верно понимаю как работает эта консоль. Вот что она мне рисует:

http://s09.radikal.ru/i182/1307/b5/545e03f0faf4.jpg

И как-то подозрително это, вроде ничего же не выполняется :)
26 LehhaK
 
24.07.13
11:53
27 Sintez123
 
24.07.13
11:53
(24) СПС! Вот вроде хорошая ссылка. Хоть чуть-чуть стуктуры есть.
28 Maxus43
 
24.07.13
11:53
(25) причем тут фоновые? это на скуле надо делать, джобами
29 Господин ПЖ
 
24.07.13
11:53
точно мартышко...
30 Sintez123
 
24.07.13
11:53
(26) это я уже читал, там непонятно надо мне это делать или нет.
31 Sintez123
 
24.07.13
11:54
(28) сейчас джобы посмотрю, скуль не админю я тут, админы есть
32 LehhaK
 
24.07.13
11:54
(30) Это всем надо делать.
33 ptiz
 
24.07.13
11:54
Попробовать обратится в SoftPoint, у них есть бесплатный мониторинг.
34 hhhh
 
24.07.13
11:54
(19) узкие места очень просто определить. Кто-то влезал в конфу, он оставил свои комменты, вот все места, где эти комменты, в первую очередь проанализируйте,на 99% там тормозит.
35 LehhaK
 
24.07.13
11:54
36 Maxus43
 
24.07.13
11:55
(31) это не только к 1с относится, все скульные базы надо обслуживать, не только бэкапы настроить. Хреновые админы, если не знают
37 H A D G E H O G s
 
24.07.13
11:56
(34) Да ладно.
В типовых конфах есть непуганные места, еще как есть.
38 Sintez123
 
24.07.13
11:56
Вот какие джобы есть:

http://s017.radikal.ru/i406/1307/f9/b00eb3e81774.jpg

(32) Понятно. Уже лучше тогда, буду делать раз уж надо всем (может тут это делали уже, может нет, пока мне это не понятно)
39 ptiz
 
24.07.13
11:57
1) Стребовать с юзеров список операций, которые тормозят.
2) С этим списком подойти к юзерам и посмотреть лично как именно "тормозит".
3) Отладчиком выполнить замер производительности.
4) Думать.
40 Maxus43
 
24.07.13
11:57
(38) аминь. даже бэкап логов с ошибками
41 Sintez123
 
24.07.13
11:57
(35) вот я всё никак не пойму :) Откуда такая уверенность что у меня 1с тормозит из-за настроек SQL сервера? :) Может у меня там всё правильно настроено. А дело совсем в другом. Как эти узкие места то находить?
42 Sintez123
 
24.07.13
11:59
(39) Вот хорошая имхо логика. Я так и хотел, отладчиком. Но опять же, откуда такая уверенность что 1с именно из-за кода тормозит? может памяти на SQL-сервере мало? :) Хотелось бы делать не что попало, а то что нужно. Как бы точно в цель :) А не то попробуй, потом это.
43 LehhaK
 
24.07.13
11:59
(41) ЗАпустить тест гилева на производительность. И многопоточный тест написанный крутым парнем с Мисты. Посмотреть. Так ты по крайней мере исключишь кривой код
44 Maxus43
 
24.07.13
11:59
(41) ты понимаешь что надо комплексно решать задачи? если на статистику/индексы на скуле забили болт, это уже показатель. Никто не говорит что будет летать, но это надо сделать
45 Sintez123
 
24.07.13
12:00
(43) Во вообще отлично! :) Пошел запускать. Юзеры сейчас одновременно работают еще. Не страшно одновременно запускать их то? :)
46 Sintez123
 
24.07.13
12:00
(44) да конечно, сначала надо узкие места найти :) потом что-то делать уже.
47 МихаилМ
 
24.07.13
12:00
Fragster

рвалсяся оптимизировать УПП
48 Lionee
 
24.07.13
12:00
кашмар в (38)
начинать надо постепенно с sql  и пошло по нарастающей
49 Lionee
 
24.07.13
12:01
а так 3 конверта
50 Maxus43
 
24.07.13
12:02
(46) сначала надо сделать простейшие вещи по обслуживанию баз, потом ищи места узкие. Део на 30 минут с перекурами и читаниями статей, но выхлоп может дать нормальный сразу
51 LehhaK
 
24.07.13
12:02
(45) Не страшно. Загрузишь проц на 100% просто. Т.е. 20-30 минут будет тормозить все. Тест гилева можно запускать вообще не боясь
52 Maxus43
 
24.07.13
12:03
опять же платформа, кол-во юзеров, кол-во раб процессов...
Сначала приведи в порядок всё мышкой, анализ и поиск только после этого, чтоб реальные места искать, а не мнимые
53 z01
 
24.07.13
12:04
(0)
всё что уже написали + особенно важно вообще конкретно для ут11 это:
анализ недостающих индексов
54 z01
 
24.07.13
12:04
вообще и конкретно
55 zva
 
24.07.13
12:04
(42) "Хотелось бы делать не что попало, а то что нужно. Как бы точно в цель :) А не то попробуй, потом это."
Т.е. ты нам сначала предлагаешь угадать, чтоб мы тебе рассказали что делать нужно?
Загрузи сервер тестами по полной, чтоб совсем тормозить стало, через пол часа тесты сбрось - типа оптимизировал...
56 assasu
 
24.07.13
12:04
(0)для старта, что бы было с чего начать : на ИТС есть описание параметров, что считать хорошим значением,в каком диапазоне уже надо волноваться... сам этим когда то занимался.
57 LehhaK
 
24.07.13
12:04
(46) Вот почитай на досуге. v8: Моя борьба за производительность... Это я   начинал оптимизировать скорость. А то поди у тебя даже итоги в базе не пересчитываются :)
58 LehhaK
 
24.07.13
12:05
(56) Кинь ссылью, тоже почитаю
59 Sorm
 
24.07.13
12:06
(55) Ну так если человек утверждает, что у Гилева ничего нет, а потом радуется ссылке с гилевского сайта - я предполагаю, что он вообще не рыл:) Какой смысл угадывать:)
60 wPa
 
24.07.13
12:08
(0) покажи им - чтобы отстали
http://www.vmstart.ru/resheniya/350-blejd-server-i-xranilishhe-ibm
61 Grobik
 
24.07.13
12:10
>> Стиль аля "Попробуйте увеличить память, если не помогло попробуйте..." стоп! Это "попробуйте" стоит денег и/или кучи времени.

Капец.
62 assasu
 
24.07.13
12:11
(58) на ИТС ищется по строке "Использование System monitor"
63 Aleksey
 
24.07.13
12:18
64 krbIso
 
24.07.13
12:24
2 слабых места я уже нашел
тс и работодатель
65 Aleksey
 
24.07.13
12:25
(64) п.2 Флейм и оффтопик в тематических разделах 1С и IT не допускается. (с) http://www.forum.mista.ru/rules.php
66 z01
 
24.07.13
12:26
(0) а как вы решили что оно тормозить?
67 wPa
 
24.07.13
12:29
(0) переиндексации на сиквеле  каждый день идут? - все оптимизировано значит. Остальное стоит денег....

(66) правильно говорить "как вы решить что оно тормозить"
68 z01
 
24.07.13
12:34
(67)(0)как вы решитЪ что оно тормозитЪ???
... иногда лень даже стирать замеченный лишний мягкий знак )))
69 hhhh
 
24.07.13
12:41
(37) не, я за собой несколько раз замечал. Тормозит по непонятной причине. После долгих попыток нахожу наконец место, где тормозит. И с удивлением обнаруживаю рядом свои комменты. Просто там в типовых еще полно таких мест, где вроде всё просто, элементарно на первый взгляд. А оказывается там разработчики конфы вложили какой-то глубокий смысл, который при поверхностном взгляде не просматривается.
70 Fragster
 
гуру
24.07.13
12:43
надо понять - тормозит железо или софт
71 z01
 
24.07.13
12:46
(0)глубокий смысл в том что разработчики не проводили нагрузочное тестирование
72 Demiurg
 
24.07.13
13:25
(0) странно читали наш сайт, прежде всего рекомендуем воспользоваться http://www.gilev.ru/querytj/
если лень, то можно просто нас нанять http://www.gilev.ru/contract/
73 gallam
 
24.07.13
13:34
(0) Да, интересно:
"В первую очередь хотелось бы понять как находить узкое место" - ставишь все средства контроля, потом анализируешь выходные файлы и получаешь узкие места.
А если серьезно, задача поиска узких мест нетривиальная и требует в большинстве ситуаций привлечение экспертов.
У Вас какая по объему БД, какой информационный поток, сколько конкурирующих пользователей?
74 МихаилМ
 
24.07.13
13:37
(72),(73) только не ругайтесь
75 gallam
 
24.07.13
13:38
(74) Михаил, я тебя умоляю)))
76 olegves
 
24.07.13
13:43
(0) форум sql.ru уже предлагали?
77 Sorm
 
24.07.13
13:58
(76) Судя по вопросам - бесполезно. Пусть пока Гилева читает.
78 z01
 
24.07.13
15:39
79 z01
 
24.07.13
15:43
вот более вменяемый вариант для копипасты и запуска (прежде чем нажимать банзай лучше разобраться со всеми командами)
--------------------------------------------------------------------------------------------

-- Создание недостающих индексов баз данных на SQL Server 2005, 2008

--

-- Скрипт анализирует статистику, собранную сервером баз данных об отсутствующих индексах в базах данных и

-- предлагает создать индексы, которые могут обеспечить значительное повышение производительности.

SET NOCOUNT ON

DECLARE @dbid int

IF (object_id('tempdb..##IndexAdvantage') IS NOT NULL) DROP TABLE ##IndexAdvantage

CREATE TABLE ##IndexAdvantage ([Преимущество индекса] float, [База данных] varchar(64), [Transact SQL код для создания индекса] varchar(1024),

[Число компиляций] int, [Количество операций поиска] int, [Количество операций просмотра] int,

[Средняя стоимость ] int, [Средний процент выигрыша] int );

DECLARE DBases CURSOR FOR

SELECT database_id FROM sys.master_files -- Получаем список ID баз данных

WHERE state = 0 AND -- ONLINE

has_dbaccess(db_name(database_id)) = 1 -- Only look at databases to which we have access

GROUP BY database_id

OPEN DBases

FETCH NEXT FROM DBases

INTO @dbid

WHILE @@FETCH_STATUS = 0

BEGIN -- Выполняем для каждой базы данных --------------------------------------------------

INSERT INTO ##IndexAdvantage

SELECT [Преимущество индекса] = user_seeks * avg_total_user_cost * (avg_user_impact * 0.01),

     [База данных] = DB_NAME(mid.database_id),

     [Transact SQL код для создания индекса] = 'CREATE INDEX [IX_' + OBJECT_NAME(mid.object_id,@dbid) + '_' +

     CAST(mid.index_handle AS nvarchar) + '] ON ' +

     mid.statement + ' (' + ISNULL(mid.equality_columns,'') +

     (CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ', '

ELSE '' END) +

     (CASE WHEN mid.inequality_columns IS NOT NULL THEN + mid.inequality_columns ELSE '' END) + ')' +

     (CASE WHEN mid.included_columns IS NOT NULL THEN ' INCLUDE (' + mid.included_columns + ')'

ELSE '' END) +      ';',

     [Число компиляций] = migs.unique_compiles,

     [Количество операций поиска] = migs.user_seeks,

     [Количество операций просмотра] = migs.user_scans,

     [Средняя стоимость ] = CAST(migs.avg_total_user_cost AS int),

     [Средний процент выигрыша] = CAST(migs.avg_user_impact AS int)

FROM  sys.dm_db_missing_index_groups mig

JOIN  sys.dm_db_missing_index_group_stats migs

ON    migs.group_handle = mig.index_group_handle

JOIN  sys.dm_db_missing_index_details mid

ON    mig.index_handle = mid.index_handle

AND   mid.database_id = @dbid

   FETCH NEXT FROM DBases

   INTO @dbid

END ----------------------------------------------------------------------------------------

CLOSE DBases

DEALLOCATE DBases

GO

SELECT * FROM ##IndexAdvantage ORDER BY 1 DESC

-- Значение ''Преимущество индекса'' выше 5000 в промышленных системах означает, что следует рассмотреть возможность создания этих индексов.

-- Если же значение превышает 10000, это обычно означает, что индекс может обеспечить значительное повышение производительности для операций чтения.

----------------------------------------------------------------------------------------------

---- Отправляем email с предложением создать индекс

--IF (object_id('tempdb..##IndexAdvantage2') IS NOT NULL) DROP TABLE ##IndexAdvantage2

--SELECT * INTO ##IndexAdvantage2 FROM ##IndexAdvantage WHERE [Преимущество индекса] >= 5000 ORDER BY 1 DESC

--IF ((SELECT COUNT(*) FROM ##IndexAdvantage2) >= 1) BEGIN

--DECLARE @subject_str varchar(255),

--@message_str varchar(1024),

--@separator_str varchar(1),

--@email varchar(128)

--SET @separator_str=CHAR(9) -- Символ табуляции

--SET @email = '[email protected]'

---- Подготовим текст сообщения

--SET @subject_str = 'SQL Server '+@@SERVERNAME+': Предложение создать индексы в базе данных.'

--SET @message_str = 'Сервер '+@@SERVERNAME + '. Выявлена необходимость создать индексы в базе данных!

--Во вложении - таблица с кодом предлагаемых индексов.

--Значение "Преимущество индекса" выше 5000 в промышленных системах означает, что следует рассмотреть возможность создания этих индексов.

--Если же значение превышает 10000, это обычно означает, что индекс может обеспечить значительное повышение производительности для операций чтения.

--Динамические административные представления, которые помогли нам получить информацию об отсутствующих индексах, не являются заменой помощника по настройке ядра СУБД, который также рассматривает индексированные представления и секции и обеспечивает более всесторонний анализ индексов, но они могут быть очень эффективны на начальном уровне анализа.'

---- Отправляем email

--EXEC msdb.dbo.sp_send_dbmail

--@recipients = @email,

--@query = 'SELECT * FROM ##IndexAdvantage2',

--@subject = @subject_str,

--@body = @message_str,

--@attach_query_result_as_file = 1,

--@query_result_separator = @separator_str,

--@query_result_width = 7000

--END

---- Удаляем временную таблицу

IF (object_id('tempdb..##IndexAdvantage') IS NOT NULL) DROP TABLE ##IndexAdvantage

IF (object_id('tempdb..##IndexAdvantage2') IS NOT NULL) DROP TABLE ##IndexAdvantage2
80 Aleksey
 
24.07.13
17:12
(79) а где можно теорию глянуть как заполняются user_seeks, avg_total_user_cost, avg_user_impact. есть ссылка под рукой для чайников?
81 Aleksey
 
24.07.13
17:14
судя по интернету нужно искать "Учебном курсе Microsoft “SQL Server 2005 Реализация и обслуживание”."
82 EvgeniuXP
 
24.07.13
17:15
ищи эксперта (теорию) - там всё есть.
83 z01
 
24.07.13
17:20
(80)msdn
84 Aleksey
 
24.07.13
17:22
(82), (83) не ну это не для чайников
85 Sorm
 
24.07.13
17:22
(80) Опять для чайников... Это не для чайников:)
http://msdn.microsoft.com/ru-ru/magazine/cc135978.aspx
Читай, просвещайся.
86 Aleksey
 
24.07.13
17:30
(85) там проблем в том, что речь идет о типовом продукте, который на поддержки и тут очень трудно его оптимизировать в этом направлении
87 Sorm
 
24.07.13
17:33
(83) Ну, подольем тоже:
Скрипт для оценки отсутствующих индексов, взятый из указанной статьи:

SELECT  TOP 10
       [Total Cost]  = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans),0)
       , avg_user_impact
       , TableName = statement
       , [EqualityUsage] = equality_columns
       , [InequalityUsage] = inequality_columns
       , [Include Cloumns] = included_columns
FROM        sys.dm_db_missing_index_groups g
INNER JOIN    sys.dm_db_missing_index_group_stats s
      ON s.group_handle = g.index_group_handle
INNER JOIN    sys.dm_db_missing_index_details d
      ON d.index_handle = g.index_handle
ORDER BY [Total Cost] DESC;
88 Aleksey
 
24.07.13
17:33
Запустил у себя на скуле... немного неожиданный результат,
89 Sorm
 
24.07.13
17:34
(86) Причем здесь поддержка, если ты оптимизируешь БД со стороны сервера?
90 z01
 
24.07.13
17:36
TOP 20

[Total Cost]

= ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans),0)

, avg_user_impact

, TableName = statement

, [EqualityUsage] = equality_columns

, [InequalityUsage] = inequality_columns

, [Include Cloumns] = included_columns

FROM

sys.dm_db_missing_index_groups g

INNER

JOIN sys.dm_db_missing_index_group_stats s

ON s.group_handle = g.index_group_handle

INNER

JOIN sys.dm_db_missing_index_details d

ON d.index_handle = g.index_handle

where statement like '%нашебд]%'

ORDER

BY [Total Cost] DESC;


DBCC FREEPROCCACHE
go
91 Aleksey
 
24.07.13
17:36
дело в том что максимальное значение "Приемущество идекса" для БП 3.0 у меня 2487, т.е. в пределах разумного

А вот максимальное значение - в БП 2.0 и составляет ..... 184 690, да почти 200 тысяч, при условии что "Если же значение превышает 10000, это обычно означает, что индекс может обеспечить значительное повышение производительности для операций чтения." заставляет задуматься
92 Aleksey
 
24.07.13
17:37
Ну и конечно проблема именно в регистрах итогов
CREATE INDEX [IX__AccRgAT3493_49057] ON [RAP_AC].[dbo].[_AccRgAT3493] ([_Period], [_Fld460RRef], [_Value1_TYPE], [_Value1_RTRef], [_Value1_RRRef], [_Value2_TYPE], [_Value2_RTRef], [_Value2_RRRef]) INCLUDE ([_AccountRRef], [_Fld461RRef], [_Fld462RRef], [_Value3_TYPE], [_Value3_RTRef], [_Value3_RRRef], [_Fld463], [_Turnover475], [_Fld464], [_Turnover478], [_Fld466], [_Turnover484]);
93 Sorm
 
24.07.13
17:39
(91) Как давно последний раз перезагружалась база?
(92) Не в регистрах итогов, а в запросе, который используется наиболее массово, следовательно, можно задать индекс, который будет покрывать данный запрос без обращения к основной таблице.
94 Sorm
 
24.07.13
17:42
ну и ишшо:
Немного упрощенная реиндексация по рекомендация майкрософт.
Как ни странно, работает лучше, чем их основная(более тщательная).

DECLARE @SQL varchar(256), @DB_ID int;
SET @DB_ID = (SELECT DB_ID());

DECLARE reindex CURSOR GLOBAL FAST_FORWARD READ_ONLY FOR
SELECT    'ALTER INDEX [' + i.name + '] ON [' + OBJECT_NAME(afp.OBJECT_ID) + '] REBUILD WITH (SORT_IN_TEMPDB = ON);' AS [Инструкция T-SQL]
FROM sys.dm_db_index_physical_stats(db_id(),null, null, null, 'SAMPLED') afp
INNER JOIN sys.indexes i ON afp.[object_id] = i.[object_id]
   AND afp.index_id = i.index_id
where
   i.name is not Null and page_count > 12 and ROUND(avg_fragmentation_in_percent,2) >=10
order by index_type_desc asc, avg_fragmentation_in_percent desc

OPEN GLOBAL reindex
WHILE 1 = 1
BEGIN
   FETCH reindex INTO @SQL
   IF @@fetch_status <> 0 BREAK
   --select @SQL
   EXEC(@SQL)
PRINT @SQL
END
CLOSE GLOBAL reindex
DEALLOCATE reindex
95 z01
 
24.07.13
17:42
(91)"Если же значение превышает 10000, это обычно означает, что индекс может обеспечить значительное повышение производительности для операций чтения." заставляет задуматься" это для промышленных систем а при автоматизации ларька со справочником номенклатура 80000 записей даже при нескольких сотнях это важно так как даже формы при открытии с отбором по группе тормозят

вообще лично я считаю что результат в (90)нужно ликвидировать совсем до сотен включительно
96 z01
 
24.07.13
17:43
(92)когда тии со всеми птичками была
97 z01
 
24.07.13
17:44
(94)где пруфлинк?
98 Sorm
 
24.07.13
17:47
(95) Забей. У меня было и на массовых операциях отсутствие и 100, и 300 , и 500 тысяч. Врубал индексы. Быстродействие в запросах анализировал. Не росло. Индексы использовались, но быстродействие:( Так что там надо тщательно анализировать запрос(ы) к таблице, чтобы однозначно утверждать, получишь ты прирост или нет. В основном получаешь, конечно.
99 Sorm
 
24.07.13
17:47
(97) Фига:)
100 arsik
 
гуру
24.07.13
17:47
Ссылки на софтпойнт уже давали?
Программный комплекс "PerfExpert" - мониторинг производительности 1С:Предприятие 7.7, 8.1, 8.2 + MS SQL Server 2000, 2005, 2008.
http://www.softpoint.ru/products_id3.htm
101 z01
 
24.07.13
17:48
(100)а демоверсия там есть?
102 Aleksey
 
24.07.13
17:53
(87) в оригинале там * 0.01
103 Aleksey
 
24.07.13
17:55
(89) А в каком случае мои индексы "слетят"? При реструктуризации? А как сбросить/обнулить статистику по индексам? Или за какой период она там накапливается?
104 Aleksey
 
24.07.13
17:56
(93) Что такое "перезагружалась"?
105 z01
 
24.07.13
17:57
(103)да тогда.
пересоздать индекс )))
106 z01
 
24.07.13
17:58
(104)это вероятно выгрузить - загрузить в дт
107 Aleksey
 
24.07.13
18:00
(96) конфигу буквально вчера грузил, а полное ТиИ меньше месяца это точно. Я обычно не реже раз в месяц полное ТиИ делаю
108 Aleksey
 
24.07.13
18:02
(90) (0 row(s) affected)
109 Aleksey
 
24.07.13
18:03
(106) тогда ооооооччччень давно
110 Aleksey
 
24.07.13
18:05
(90) заменил НашаБД на свою, получил табличку с тотал кост от 18 480 407 до 285 879
111 z01
 
24.07.13
18:10
(110)если этого не достаточно смотри (79)
112 Пип Пибип
 
24.07.13
18:10
"Не могу молчать" - закладка
113 z01
 
24.07.13
18:17
(24)обработочки выкладывай
114 z01
 
24.07.13
18:17
(113)в(0)
115 Aleksey
 
24.07.13
18:21
(111)  Он какой то не рабочий ругается
116 Aleksey
 
24.07.13
18:23
117 Aleksey
 
24.07.13
18:25
правда там он тоже ошибку выдает

Msg 8152, Level 16, State 2, Line 43
Символьные или двоичные данные могут быть усечены.
Выполнение данной инструкции было прервано.
118 rozer76
 
24.07.13
19:02
для начала ЖР отключи совсем или вкл. только на ошибки/предупреждения
119 Aleksey
 
24.07.13
19:06
(118) зачем?
120 rozer76
 
24.07.13
19:12
(119) мы пользовались дорогим "софтпоинтовским" мониторингом.. вроде сильно оптимизировали блокировки (передалали страничные блокировки индексов на "ключевые", оптимизировали запросы+добавляли индексы где нужно) но тормоза продолжались и причем в элементарных операциях (типо просто запись без проведения дока=10сек система повисала в "молоко"). Замеры производительности самого кода ничего не выявили. После откл. ЖР все "залетало" ...
121 Fragster
 
гуру
24.07.13
19:14
(118)(120) перенесли бы ЖР на быстрые диски
122 rozer76
 
24.07.13
19:14
да кстати (100) это очень ГУД но ОЧЕНЬ дорого :)
123 Aleksey
 
24.07.13
19:14
(120) Журнал одним общим куском, или по дням?
124 Aleksey
 
24.07.13
19:15
(121) его хрень просто так перенесёшь...
125 rozer76
 
24.07.13
19:15
(121) аха, откл. недавно - надо на рамдиск запихать и скидывать периодически на хард
126 rozer76
 
24.07.13
19:15
(120) стоял по дням на RAID5 (SSD)
127 Fragster
 
гуру
24.07.13
19:17
рэид5 очень зависит от контроллера. если софтовый - то запросто может в проц упираться
128 rozer76
 
24.07.13
19:21
(127) какой еще софтовый... IBM SSD на 500 представляете скока стоят :) Там сервак 700 тыр :)
129 z01
 
25.07.13
09:26
(117) см. (111). внимательно.
130 z01
 
25.07.13
09:32
(100)чем это лучше замера производительности и анализа недостающих индексов поясните плиз
131 arsik
 
гуру
25.07.13
09:45
(130)  там все в ролике показано
http://www.softpoint.ru/perfexpert.php
132 Lama12
 
25.07.13
10:03
(0)Неужели все так плохо с работой в городе?
За 30 минут, я бы и разбираться не стал.
Если начальник оценил работу в 30 минут, он либо специалист и может за 30 минут сделать эту задачу, либо "м удак".
На фиг с таким работать?
133 Aleksey
 
25.07.13
11:48
(130) Анализ индексов как то уж очень странно работает
134 z01
 
25.07.13
15:04
(131)на пальцах это объяснить нельзя? )))
(133)мне пофик, главное что после добавления недостающих всё летает
135 Sorm
 
25.07.13
15:20
(134) Ну, будем объективны - не всегда летает(на глаз), даже при участии данных индексов в запросе. Но в основном исполнение ускоряется.
136 Aleksey
 
25.07.13
15:59
(134) НУ смотри у меня есть большая база (20 гигов на скуле). на ней она насчитала 184 690 в графе Преимущество индекса

Есть база 2. В реальности в ней уже полгода никто учет не ведет. До этого в ней был комитент, Её размер 10 гигов, и скрипт предлагает создать индекс с преимуществом 12 832

Есть база 3, в которой тоже только одна фирма, но действующая (купи/продай). Размер на скуле 12 гигов и максимальное преимуществом - 7 075

Повторяю конфигурации во всех трёх базах одинакова, обновления и реструктуризация в них делаются в один и тот же день, но при этом офигительный разброс в приемуществе, которое я объяснить не могу

И более того база 2 точно уже и рестуризацию делали и скуль перегружали в течении этого месяца, но откуда такая дикая статистика по ней, я не понимаю


Поэтому вопрос. как сбросить статистику по индексам
137 z01
 
25.07.13
16:13
(136)я этого явным образом ни разу не делал
в (79) генератор скрипта создания индексов
если запустить сгенеренный скрипт у тебя в анализе исчезнет эта строка и всё. думаю даже что если траблы с использованием индексов и возникли бы на больших или сложных базах не решаемые так то решить их можно было бы предварительным сносом индексов всех и созданием этим инструментом заново за исключением кластерных по идреф.
кстати на 2012 скуле 80% проблем существующих в 2008 (не r2) исчезли сами собой, но не все. сегодня проверял
(135)ну если несколько порядков вам мало... )))
(136)это относительные величины )))
138 Aleksey
 
25.07.13
16:17
(137) что именно не делал явно?

Скрипт запускаю, строка исчезает, но хочется обнулить статистику
139 z01
 
25.07.13
16:27
(138)
думаю нужно курить параметры вот этого:
exec sp_msforeachtable 'UPDATE STATISTICS ? WITH FULLSCAN'
140 Aleksey
 
25.07.13
16:34
(139) это врядли, ибо каждый день ночью идет обслуживания базы и один из пунктов "Update Statistics Task", т..е обновление статистика (вся статистика, полный просмотр)
141 Aleksey
 
25.07.13
16:37
т.е. для каждой таблицы выполняется скрипт

UPDATE STATISTICS [dbo].[_Acc14] WITH FULLSCAN
...
142 z01
 
25.07.13
17:04
(141)нужно как-то счетчики использования сбросить или сказать что нужно статистику обновлять по данным за последний день например если есть такая возможность
раз нет инфы в инетах по прямому запросу по этому вопрос узначит вопрос не верно стоит относительно концепта скулей
143 Aleksey
 
25.07.13
17:24
уже и в свойствах базы отключил создания статистики, а он упорно предлагает строить индекс. отсюда вывод, статистика тут непричем
144 Aleksey
 
25.07.13
17:27
почитал bol
Функция отсутствующих индексов по умолчанию включена. Отсутствуют управляющие элементы, позволяющие включать или выключать ее, а также сбрасывать таблицы, возвращаемые при обращении с запросом к объектам DMO. При перезапуске SQL Server удаляются все сведения об отсутствующих индексах.
(c) http://msdn.microsoft.com/ru-ru/library/ms345524.aspx

Попробую вечерком сделать рестарт и проверю
145 z01
 
25.07.13
17:36
(144)только наверное нужно ещё статистику проапдейтить после этого...
146 z01
 
25.07.13
17:37
подольем: ежедневный ребут норма
147 Aleksey
 
25.07.13
17:40
хотел сделать ТиИ оказывается в базе еще что-то делают, так что возможно и не врет скрипт
148 Aleksey
 
25.07.13
17:41
(146) ну у меня обычно целый день кто-то работает. Днем народ, вечером обслуживание (бекапы, обмены, перепроводка)
149 Sorm
 
25.07.13
17:47
(137) Т.е. ускорение в 1000 раз? покажи, плиз.
150 Sorm
 
25.07.13
17:49
(148) Не важно. Со стороны скуля можешь делать все он-лайн.
151 Aleksey
 
25.07.13
17:52
(150) сбросить статистику? как?
152 Sorm
 
25.07.13
17:52
(151) Зачем статистику-то сбрасывать?:) Статистика - неотъемлемое свойство индекса:)
153 Sorm
 
25.07.13
17:53
(151) Даже если у индекса статистики нет - при первом запросе, использующем индекс, SQL сам её создаст.
154 z01
 
25.07.13
17:55
(149)что показать? элементарную вещь что в большом справочнике поиск по индексированному реквизиту работает насколько быстрее чем по неиндексированному например?
155 Sorm
 
25.07.13
17:57
(154) В 60 раз ускорение видел. Но чтобы в 1000... Не обижай MSSQL:)
156 Fragster
 
гуру
25.07.13
18:00
(155) на соединении пары справочников - легко. сам видел ускорение с 20 минут до нескольких секунд
157 Sorm
 
25.07.13
18:02
(156) Ну, не знаю. Как надо запрос написать, чтобы на добавленном индексе такой прирост получить? Воообще без оптимизации, что ли?
158 z01
 
25.07.13
18:03
(155)справочник должен быть более миллиона записей и/или мерять надо замером или скулем а не с левого уха на правый глаз прикидывать
(156)+100500
(157)в большой справочник добавляешь реквизит и иещешь по нему с замером, потом индексируешь его и снова замер - элементарно.
159 Sorm
 
25.07.13
18:03
Т.е. тупо выборку миллиона строк соединить с миллионом?
160 z01
 
25.07.13
18:03
к (158) можно даже не понимать почему просто сравнить
161 z01
 
25.07.13
18:04
(158)троль?
162 Sorm
 
25.07.13
18:05
(161) согласен, в (158) тролль
163 Sorm
 
25.07.13
18:06
(158) А если серьезно, то я крайне редко пишу запросы, которые можно ускорить хотя бы в несколько раз добавлением индексов в базу. Просто отвык, как бы.
164 Aleksey
 
25.07.13
18:22
(152) ну хочу с нуля так сказать, без учета работы прошлдых лет
165 mrWatson
 
25.07.13
18:30
попробуй "ЦУП для бедных" http://1csoft.com/node/2654
166 Aleksey
 
25.07.13
20:26
так реструктуризации при ТиИ удаляет статистику по индексам, так же как и перезагрузка. Посмотрим что теперь он скажет
167 Grobik
 
25.07.13
20:35
(159) >> Т.е. тупо выборку миллиона строк соединить с миллионом?

Люблю такую штуку. Тупо вешает любой сервак.
168 Demiurg
 
25.07.13
23:10
(165) Зачем это надо, если есть http://www.gilev.ru/querytj/
169 Aleksey
 
25.07.13
23:50
(168) А он поможет в случае разделения клиента и сервера 1С? Ведб я так понимаю он настраивает ведения ТЖ на клиенте, а там многое не доступно. Или я не прав?
170 Aleksey
 
25.07.13
23:51
и к чему эти рекомендации "Рекомендуется устанавливать конфигурацию в отдельный кластер сервера 1с а не в тот же где располагаются рабочие базы.". т.е. какие данные он собирает и откуда?
171 z01
 
26.07.13
09:27
(162)я там с номером ошибся. трлоль это ты )))
172 z01
 
26.07.13
09:28
(163)а ты проиндексируй то что в них запрашивается и попробуй ещё раз )))
173 Aleksey
 
26.07.13
10:41
(163) ну значит ты с типовыми не работал


Сделал ТиИ , после этого скуль предложил для ускорения сделать кучу индексов :)
174 Demiurg
 
26.07.13
16:05
(169) а инструкцию не пробовали http://www.gilev.ru/setupquerytj/

логи ТЖ собираются с сервера 1с исследуемой базы

(170) отдельный кластер не обязателен, это рекомендация взята из практики когда очень часто экономят на оперативной памяти сервера 1с и это позволяет достигать большей гибкости в управлении ресурсами памяти
175 Бертыш
 
26.07.13
16:14
(0) Учиться, учиться и учиться
176 Azverin
 
26.07.13
16:23
ТС пропал чего-то... случаем не дропнули базу уже?)))
177 Aleksey
 
26.07.13
16:27
(174) пробовал, но судя по инструкции я настраиваю это все на клиентской машине соответственно файл conf - он относится к клиентской машине. Сервер у меня на другой машине и соответственно пути разные (клиент 32-х битный, сервер 64-х битный, соответственно и пути разные к програм файлс)ю Отсюда и вопросы
178 Aleksey
 
26.07.13
16:32
т.е. я правильно понимаю, что Путь к конфигурационному файлу и Путь к файлам логов я пишу руками исходя из местоположения сервера, а не клиента

Т.е. клиент у меня дежит локально, c:\Program Files (x86)\1cv82\conf\

А сервер на другой машине и в папке c:\Program Files\1cv82\conf\

Поэтому путь я прописываю как c:\Program Files\1cv82\conf\, а вы уже (используя директиву на сервере), настраиваете ТЖ именно на сервере часть


Соответственно Путь к файлам логов я тоже прописываю исходя из структуры каталогов на сервере
179 Demiurg
 
26.07.13
20:59
да, и клиентскую часть лучше держать на сервере 1с, гонять по сети данные можно, но не очень хорошая идея
180 z01
 
31.07.13
10:09
утилиты... мониторинг...
посмотрите то... посмотрите сё...
а делать то что?
181 alex-ander-777
 
31.07.13
12:38
Дисковую систему модернизировать. Как правило, ставится сервер с сильными процессорами и достаточной памятью. И при этом один RAID5 из 4-х дисков. И все базы+tempdb начинают сражаться за доступ...
182 z01
 
31.07.13
14:38
(181) "RAID5 из 4-х дисков"
183 alex-ander-777
 
31.07.13
17:15
(182)Самое распространенное количество, на трех практически не делают.
184 Demiurg
 
01.08.13
00:52
(180) есть достаточная большая ветка на эту тему v8: Как найти проблемный запрос в Информационной системе 8.2
но если сил нет читать, соберите данные сервисом и задайте вопрос в наш форум http://www.gilev.ru/forum/ - мы поможем интерпретировать данные, хотя если бы вы один раз воспользуетесь, там и так будет понятно, куда "копать"
185 z01
 
02.08.13
12:59
(184)т.е. вы признаете что ваши утилиты демонстрируют ваши знания но не в коем случае не предоставляют пользователю без головы готового решения )))
186 alex-ander-777
 
02.08.13
13:14
Пользователю совсем уж безголовому ничего не поможет.
Другое дело, что есть стандартные узкие места, которые надо проверять в первую очередь. Например, если у вас на весь сервер вся дисковая подсистема состоит действительно всего из одного малодискового рейда, и  при этом несколько баз (торговля-бухгалтерия-ЗУП) и три-четыре десятка действительно работающих пользователя, то глубже пока можно и не вникать.
187 alex-ander-777
 
02.08.13
13:17
P/S/ Хотя, если контроллер рейда хороший (нет... не хороший, а ХОРОШИЙ), то дело может быть и не в этом. Другое дело, что по-настоящему производительные контроллеры стоят денег, и их редко ставят - надеются на авось.
188 z01
 
02.08.13
13:49
(187)ну вот нашел я долго и часто выполняющий запрос
и что дальше?
189 Fragster
 
модератор
02.08.13
13:57
(188) давай его сюда
190 Demiurg
 
02.08.13
14:05
(185) (188) после того как находите долгий запрос, смотрите его план, а также загруженность железа в этот момент - выясняете причины, которые заставили его долго выполняться
191 Demiurg
 
02.08.13
14:07
(185) приведите пример готового решения пользователю "без головы" как вы выражаетесь
192 z01
 
07.08.13
16:44
вот
--------------------------------------------------------------------------------------------

-- Создание недостающих индексов баз данных на SQL Server 2005, 2008

--

-- Скрипт анализирует статистику, собранную сервером баз данных об отсутствующих индексах в базах данных и

-- предлагает создать индексы, которые могут обеспечить значительное повышение производительности.

SET NOCOUNT ON

DECLARE @dbid int

IF (object_id('tempdb..##IndexAdvantage') IS NOT NULL) DROP TABLE ##IndexAdvantage

CREATE TABLE ##IndexAdvantage ([Преимущество индекса] float, [База данных] varchar(64), [Transact SQL код для создания индекса] varchar(1024),

[Число компиляций] int, [Количество операций поиска] int, [Количество операций просмотра] int,

[Средняя стоимость ] int, [Средний процент выигрыша] int );

DECLARE DBases CURSOR FOR

SELECT database_id FROM sys.master_files -- Получаем список ID баз данных

WHERE state = 0 AND -- ONLINE

has_dbaccess(db_name(database_id)) = 1 -- Only look at databases to which we have access

GROUP BY database_id

OPEN DBases

FETCH NEXT FROM DBases

INTO @dbid

WHILE @@FETCH_STATUS = 0

BEGIN -- Выполняем для каждой базы данных --------------------------------------------------

INSERT INTO ##IndexAdvantage

SELECT [Преимущество индекса] = user_seeks * avg_total_user_cost * (avg_user_impact * 0.01),

      [База данных] = DB_NAME(mid.database_id),

      [Transact SQL код для создания индекса] = 'CREATE INDEX [IX_' + OBJECT_NAME(mid.object_id,@dbid) + '_' +

      CAST(mid.index_handle AS nvarchar) + '] ON ' +

      mid.statement + ' (' + ISNULL(mid.equality_columns,'') +

      (CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ', '

ELSE '' END) +

      (CASE WHEN mid.inequality_columns IS NOT NULL THEN + mid.inequality_columns ELSE '' END) + ')' +

      (CASE WHEN mid.included_columns IS NOT NULL THEN ' INCLUDE (' + mid.included_columns + ')'

ELSE '' END) +      ';',

      [Число компиляций] = migs.unique_compiles,

      [Количество операций поиска] = migs.user_seeks,

      [Количество операций просмотра] = migs.user_scans,

      [Средняя стоимость ] = CAST(migs.avg_total_user_cost AS int),

      [Средний процент выигрыша] = CAST(migs.avg_user_impact AS int)

FROM  sys.dm_db_missing_index_groups mig

JOIN  sys.dm_db_missing_index_group_stats migs

ON    migs.group_handle = mig.index_group_handle

JOIN  sys.dm_db_missing_index_details mid

ON    mig.index_handle = mid.index_handle

AND   mid.database_id = @dbid

    FETCH NEXT FROM DBases

    INTO @dbid

END ----------------------------------------------------------------------------------------

CLOSE DBases

DEALLOCATE DBases

GO

SELECT * FROM ##IndexAdvantage ORDER BY 1 DESC

-- Значение ''Преимущество индекса'' выше 5000 в промышленных системах означает, что следует рассмотреть возможность создания этих индексов.

-- Если же значение превышает 10000, это обычно означает, что индекс может обеспечить значительное повышение производительности для операций чтения.

----------------------------------------------------------------------------------------------

---- Отправляем email с предложением создать индекс

--IF (object_id('tempdb..##IndexAdvantage2') IS NOT NULL) DROP TABLE ##IndexAdvantage2

--SELECT * INTO ##IndexAdvantage2 FROM ##IndexAdvantage WHERE [Преимущество индекса] >= 5000 ORDER BY 1 DESC

--IF ((SELECT COUNT(*) FROM ##IndexAdvantage2) >= 1) BEGIN

--DECLARE @subject_str varchar(255),

--@message_str varchar(1024),

--@separator_str varchar(1),

--@email varchar(128)

--SET @separator_str=CHAR(9) -- Символ табуляции

--SET @email = '[email protected]'

---- Подготовим текст сообщения

--SET @subject_str = 'SQL Server '+@@SERVERNAME+': Предложение создать индексы в базе данных.'

--SET @message_str = 'Сервер '+@@SERVERNAME + '. Выявлена необходимость создать индексы в базе данных!

--Во вложении - таблица с кодом предлагаемых индексов.

--Значение "Преимущество индекса" выше 5000 в промышленных системах означает, что следует рассмотреть возможность создания этих индексов.

--Если же значение превышает 10000, это обычно означает, что индекс может обеспечить значительное повышение производительности для операций чтения.

--Динамические административные представления, которые помогли нам получить информацию об отсутствующих индексах, не являются заменой помощника по настройке ядра СУБД, который также рассматривает индексированные представления и секции и обеспечивает более всесторонний анализ индексов, но они могут быть очень эффективны на начальном уровне анализа.'

---- Отправляем email

--EXEC msdb.dbo.sp_send_dbmail

--@recipients = @email,

--@query = 'SELECT * FROM ##IndexAdvantage2',

--@subject = @subject_str,

--@body = @message_str,

--@attach_query_result_as_file = 1,

--@query_result_separator = @separator_str,

--@query_result_width = 7000

--END

---- Удаляем временную таблицу

IF (object_id('tempdb..##IndexAdvantage') IS NOT NULL) DROP TABLE ##IndexAdvantage

IF (object_id('tempdb..##IndexAdvantage2') IS NOT NULL) DROP TABLE ##IndexAdvantage2
193 Fragster
 
модератор
07.08.13
16:47
(192) может сначала лучше проанализировать запросы?
194 z01
 
07.08.13
17:09
(193)да конечно.
вот нашел я долгий и частый запрос и что дальше?
195 Fragster
 
модератор
07.08.13
18:58
(194) -> (189)
196 Fragster
 
модератор
07.08.13
19:00
вообще вариантов несколько -
запрос может быть не нужен
запрос может быть не таким частым
запрос может быть не таким долгим, если его переписать
запрос может быть не таким долгим если изменить структуру метаданных (в т.ч. индексы)
запрос может быть не таким долгим если создать необходимые индексы, которые средствами 1с не создать
197 Fragster
 
модератор
07.08.13
19:01
запрос может быть не таким долгим, если провести обслуживание базы (пересчет итогов, переиндексация)
198 Fragster
 
модератор
07.08.13
19:01
обновление статистики
199 Demiurg
 
07.08.13
22:57
(192) и как это решение поможет ускорить базу, где с индексами все и так нормально?
уверен, что многие запустят скрипт, но проблемы после него останутся с очень высокой вероятностью
200 Aleksey
 
07.08.13
23:28
(197) Ок. а что делать в моем случае когда
Имем базу БП 2.0 в которой по конкретной организации создано и проведено около 30 документов. Количество строк порядка от 700 до 1300.

Других документов по этой организации нет. Права админа

Нажимаю пометить на удаления. и .... жду чуть более 11 секунд. При этом по замеру времени в отладчике  98,5% времени занимает одна строка

Набор.Записать();

из процедуры УдалитьДвиженияРегистратора(), что находится в ГМ ОбщегоНазначения

Т.е. в документе строка ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ, РучнаяКорректировка, Ложь); занимает 98,6% времени

и это на документе без движения и без юзверей. Т.е. ни на скуле ни на сервере никто не работает и базу не напрягает



Кто подскажит куда копать? какие счётчики смотреть?
201 aka MIK
 
08.08.13
00:07
ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ, РучнаяКорректировка, Ложь)

это же процедура общего модуля, зайди в нее и посмотри!
202 Aleksey
 
08.08.13
00:08
(201) читай внимательно
203 Aleksey
 
08.08.13
00:10
эта процедура занимает 98,6% времени, а в этой процедуры самая долга операция это Набор.Записать(); которая из 98,6% выполняется 98,5% времени
204 Aleksey
 
08.08.13
00:10
причем перегрузил всё и клиента и сервер и скуль - один фиг на скорость пометки это не влияет
205 Demiurg
 
08.08.13
01:08
(204) что делать, уже писал в (168), получить план запроса для начала
206 Aleksey
 
08.08.13
01:09
(205) эээ план какого запроса простите?
207 Aleksey
 
08.08.13
01:11
причём тут запрос. что на запросе мир клином сошелся? У меня с запросом все хорошо и весь модуль со всемии проверками выполняется менее чем за секунду (грубо говоря 1-1,5% времени от всего), и 99% времени уходит на

Набор.Записать();


Объясните мне дураку какой запрос выполняет скуль когда 1С выполняет код

Набор.Записать();???
208 Aleksey
 
08.08.13
01:13
В это время происходит неуправляемый "апдейт" данных (движения и итоги), честно говоря я даже примерно не могу представить как я могу этим управлять
209 Aleksey
 
08.08.13
01:17
ну покажет мне что запрос на апдейт занимает 10 секунд, а все остальные запросы - 0,1 секунды. Это я и без сервиса знаю. Дальше то что? отказ от Набор.Записать(); в пользу прямых запросов? или что?

Или проблема вообще не в скуле а к примеру скажем в винтах
210 Aleksey
 
08.08.13
03:00
(205) поставил, и так и этак крутил и время 3 секунды выставлял. атолку всё маловато будет. Ну нет тут ни ни запросов длинных ни планов. что еще предложите?
211 Fragster
 
модератор
08.08.13
08:16
(200) про очистку наборов в типовых я уже писал не раз
212 Fragster
 
модератор
08.08.13
08:16
(200) кстати на документе без движений - там нет никакого Набор.Записать(), так как ранее стоит проверка на наличие движений
213 Fragster
 
модератор
08.08.13
08:18
по уму - надо вместо Набор.Записать в этой процедуре ставить Движения.Регистр.Очистить();
Движения.Регистр.Записывать = Истина;

Потом в самом документе сделать Движения.Записать() и проверку после этого. Вроде в новых типовых уже так сделали.
214 Fedot200
 
08.08.13
08:32
Подолью... мне вот этот скрипт http://infostart.ru/public/142324/ помог найти блокирующуюся таблицу, а потом уже легко вычислил запрос который ее блокирует.
215 Fragster
 
модератор
08.08.13
08:51
(214) в управляемом режиме не работает же
216 Fedot200
 
08.08.13
09:23
(215) Кто не работает? В каком еще управляемом режиме... ничего не понял.
217 Aleksey
 
08.08.13
12:08
Demiurg Так что дальше делать? Поставил http://www.gilev.ru/querytj/ ничего не нашел он. Дальше что?
218 Aleksey
 
08.08.13
21:46
Вот так всегда, все только могут с умным видом тыкать, типа там вот в инете всё написано, а как дело доходит до реальности все сливаются.

Ау есть кто?
219 Рэйв
 
08.08.13
21:58
220 Aleksey
 
08.08.13
22:04
(219) ну это всё настроено и периодически мониторятся выполнения
221 Рэйв
 
08.08.13
22:06
(220)Тогда может лучше перейти на оракл?:-)
222 Aleksey
 
08.08.13
22:08
(221) чем лучше? для 1С фиолетово, и даже более ИМХОется, что 1С с MS больше дружит

Или ты сейчас вообще про Оракл как ЕРП систему?
223 Рэйв
 
08.08.13
22:10
(222)Именно как про ЕРП. Оно с транзакциями бережней работает намного. не блочит таблицы полностью по пустякам.. я вот щас морально готовлюсь:-)
224 Aleksey
 
08.08.13
22:14
(223) ну во первых у меня нет проблем с блокировкой, у меня проблема в том что Набор.Записать(); делается 10 секунд, в то время как вся процедура пометки на удаления выполняется за 10,5 секунды

Во вторых для ЕРП у меня 7-ка на дбф и там нет такой проблемы со скоростью записи и проведения

Ну а втретих, речь идет о бух учете, а это, насколько я знаю, не сильная сторона оракла, и врядли получится "удачно" соскочить с 1С в пользу Оракла
225 Aleksey
 
08.08.13
22:15
и вот хотелось бы понимания за счёт чего можно ускорить пометку, и желательно не на 5% и не в 1,5 раза, а минимум раз в 5
226 Рэйв
 
08.08.13
22:15
(224)7-ка....
оо..  Сочувствую, бро:-)
Извини не знал, что все настолько плохо:-)
227 Demiurg
 
08.08.13
22:17
(217) ТОЛЬКО НА ВРЕМЯ СБОРА ДАННЫХ ПО ИСЛЛЕДУЕМОЙ СТРОКЕ поставьте 1й порог в 0, он соберет все запросы
на долго не оставляйте, иначе огого :) сколько нагребет

покажите скриншот с планом запроса сюда
228 Aleksey
 
08.08.13
22:17
(226) ну я же не виноват, что по скорости записи и работы 8-ка и рядом не стояла

P.S. для аналитике есть общаяя база на 8-ке, где в принципе не критично скорость записи ибо там документы никто не бъет, только робот заливает данные
229 Aleksey
 
08.08.13
22:19
(227) ставил 3 секунды ничего он не ловит
230 Рэйв
 
08.08.13
22:21
(228)Каждый инструмент предназначен для своего дела.
Микроскопом тоже какбэ не годится гвозди заколачивать.
7-ка может быстра на небольших объемах данных. Но если бы не появились ОЧЕНЬ большие объемы - 8 ка бы так  и не была придумана.
231 Aleksey
 
08.08.13
22:22
хотя при условии что вызывается 20 раз и общее время 10 секунд получается по 0,5 на запрос
232 Aleksey
 
08.08.13
22:23
(230) Согласен, поэтому аналитическая база в которой уже данные минимум за 8 лет по всему холдингу на 8-ке, ибо 7-ка не тянет эти объемы.

А шустрая быстрая база, которая периодически режется - идеально летает на 8-ке
233 Aleksey
 
08.08.13
22:23
* летает на 7-ке конечно же
234 Aleksey
 
08.08.13
22:33
(227) поставил 0, появилось куча файликов и папок в папке Query1с_3

вот только данных  в них нет
235 Aleksey
 
08.08.13
22:33
то что аботает это без сомнения потому в течении дня он каких то запросов нахватал.

Вопрос сервер надо перенружать после изменения настроек?
236 Aleksey
 
08.08.13
22:41
Почему когда я ставлю 0 у меня в файле logcfg.xml пропадает информация об этом пороге и в папке  Query1с_1 нет никаких данных??

Вот так выглядит файл logcfg.xml если все 3 порога установить в 0


<?xml version="1.0" encoding="UTF-8"?>
<query:config xmlns:query="http://v8.1c.ru/v8/tech-log"/>;
237 Aleksey
 
08.08.13
22:42
а вот содержимого этого же файла если 1 порог установлен в 1, а 2ой и 3 ий в 0


<?xml version="1.0" encoding="UTF-8"?>
-<query:config xmlns:query="http://v8.1c.ru/v8/tech-log">; -<query:log xmlns:query="http://v8.1c.ru/v8/tech-log"; history="2" location="C:\LogTJ\Query1с_1"> -<query:event> <query:eq value="SDBL" property="Name"/> <query:ge value="10000" property="Duration"/> </query:event> -<query:event> <query:eq value="DBMSSQL" property="Name"/> <query:ge value="10000" property="Duration"/> </query:event> <query:property name="p:processName"/> <query:property name="t:computerName"/> <query:property name="t:connectID"/> <query:property name="dbpid"/> <query:property name="Context"/> <query:property name="Sql"/> <query:property name="Usr"/> <query:property name="planSQLText"/> </query:log> <query:plansql xmlns:query="http://v8.1c.ru/v8/tech-log"; location="C:\LogTJ\Query1с_1"/> </query:config>
238 Aleksey
 
08.08.13
22:47
поставил порог 0,1 секунды. Всё равно не ловит блох
239 Aleksey
 
08.08.13
22:52
отключил вообще регламентное задание которое формирует файл, выставил вручную порог 1 мс. пометил на удаления

запускаю обработать ....
Обработанно 3 769,323 КБайт
Отправлено запросов 0

Т.е. он работает данные собирает, но только хз что
240 Aleksey
 
08.08.13
22:58
прияем в файликах я вижу эти записи

ОбщийМодуль.ОбщегоНазначения.Модуль : 3645 : Набор.Записать();'
47:02.1669-1,DBMSSQL,6,p:processName=RAP_AC20_LTS,t:computerName=DBSRV,t:connectID=2053,Usr=,dbpid=58,Sql='SELECT TOP 1
1.0
FROM (SELECT
T2._Fld7853RRef AS Q_001_F_000RRef,
MIN(T2._Period) AS Q_001_F_001_
FROM _AccumRg7852 T2
WHERE (T2._RecorderTRef = ? AND T2._RecorderRRef = ?)
GROUP BY T2._Fld7853RRef) T1
LEFT OUTER JOIN (SELECT
? AS Q_002_F_000RRef,
? AS Q_002_F_001_
UNION SELECT
?,
?
UNION SELECT
?,
?
UNION SELECT
?,
?) T3
ON (T1.Q_001_F_000RRef = T3.Q_002_F_000RRef)
WHERE ((T1.Q_001_F_001_ <= T3.Q_002_F_001_) OR T3.Q_002_F_001_ IS NULL)
p_0: 0x000000C0
p_1: 0x9D90003048F00D8811E2E5552A9C7AC0
p_2: 0x00000000000000000000000000000000
p_3: 20010101000000
p_4: 0x9413001FC6D6A11511E121860C1C071A
p_5: 20010101235959
p_6: 0x8B17766177901B164EEDE95131F6DAC6
p_7: 20010101235959
p_8: 0x93F600248C9EB52811E001F82EABBBF9
p_9: 40130630235959
',planSQLText='
0, 0, 1, 0, 1E-007, 12, 0.0203, 1,   |--Compute Scalar(DEFINE:([Expr1005]=(1.0)))
0, 1, 1, 0, 1E-007, 9, 0.0203, 1,        |--Top(TOP EXPRESSION:((1)))
0, 1, 1, 0, 1.14E-006, 9, 0.0203, 1,             |--Filter(WHERE:([Expr1002]<=[Union1004] OR [Union1004] IS NULL))
0, 1, 1.05, 0, 1.18E-005, 23, 0.0203, 1,                  |--Nested Loops(Left Outer Join, OUTER REFERENCES:([T2].[_Fld7853RRef]))
0, 1, 1, 0, 1.1E-006, 31, 0.0146, 1,                       |--Stream Aggregate(GROUP BY:([T2].[_Fld7853RRef]) DEFINE:([Expr1002]=MIN([RAP_AC20_LTS].[dbo].[_AccumRg7852].[_Period] as [T2].[_Period])))
0, 1, 1, 0.0113, 0.0001, 31, 0.0146, 1,                       |    |--Sort(ORDER BY:([T2].[_Fld7853RRef] ASC))
0, 1, 1, 0.00313, 0.000158, 51, 0.00328, 1,                       |         |--Clustered Index Scan(OBJECT:([RAP_AC20_LTS].[dbo].[_AccumRg7852].[_AccumR7852_ByPeriod_TRN] AS [T2]), WHERE:([RAP_AC20_LTS].[dbo].[_AccumRg7852].[_RecorderTRef] as [T2].[_RecorderTRef]=[@P1] AND [RAP_AC20_LTS].[dbo].[_AccumRg7852].[_RecorderRRef] as [T2].[_RecorderRRef]=[@P2]))
0, 0, 2.28, 0, 0.0056, 15, 0.00561, 1,                       |--Merge Join(Union)
0, 0, 2.28, 0, 0.0056, 15, 0.00561, 1,                            |--Merge Join(Union)
0, 0, 2.28, 0, 0.0056, 15, 0.00561, 1,                            |    |--Merge Join(Union)
0, 0, 1, 0, 4.8E-007, 9, 1.64E-006, 1,                            |    |    |--Filter(WHERE:(STARTUP EXPR([RAP_AC20_LTS].[dbo].[_AccumRg7852].[_Fld7853RRef] as [T2].[_Fld7853RRef]=[@P3])))
0, 0, 1, 0, 1.16E-006, 9, 1.16E-006, 1,                            |    |    |    |--Constant Scan
0, 0, 1, 0, 4.8E-007, 9, 1.64E-006, 1,                            |    |    |--Filter(WHERE:(STARTUP EXPR([RAP_AC20_LTS].[dbo].[_AccumRg7852].[_Fld7853RRef] as [T2].[_Fld7853RRef]=[@P5])))
0, 0, 1, 0, 1.16E-006, 9, 1.16E-006, 1,                            |    |         |--Constant Scan
0, 0, 1, 0, 4.8E-007, 9, 1.64E-006, 1,                            |    |--Filter(WHERE:(STARTUP EXPR([RAP_AC20_LTS].[dbo].[_AccumRg7852].[_Fld7853RRef] as [T2].[_Fld7853RRef]=[@P7])))
0, 0, 1, 0, 1.16E-006, 9, 1.16E-006, 1,                            |         |--Constant Scan
0, 0, 1, 0, 4.8E-007, 9, 1.64E-006, 1,                            |--Filter(WHERE:(STARTUP EXPR([RAP_AC20_LTS].[dbo].[_AccumRg7852].[_Fld7853RRef] as [T2].[_Fld7853RRef]=[@P9])))
0, 0, 1, 0, 1.16E-006, 9, 1.16E-006, 1,                                 |--Constant Scan
'
47:02.1670-3,SDBL,5,p:processName=RAP_AC20_LTS,t:computerName=DBSRV,t:connectID=2053,Usr=
241 Aleksey
 
08.08.13
23:01
о а вот и сама обработка увидела ... отправлено 17 380
242 Aleksey
 
08.08.13
23:06
243 Aleksey
 
08.08.13
23:11
Правда не совсем понятно что нужно.... вот общая картина

https://dl.dropboxusercontent.com/u/4773325/План.jpg
244 КонецЦикла
 
09.08.13
01:41
Переходить на семерку предлагали?
245 Demiurg
 
09.08.13
02:07
выполните в менеджмент студио выбрав вашу базу данных следующие скрипт

USE RAP_AC20_LTS
GO
UPDATE STATISTICS dbo._AccumRg7852 WITH FULLSCAN
GO
UPDATE STATISTICS dbo._AccRg459 WITH FULLSCAN
GO
DBCC FREESYSTEMCACHE ('all')
GO
DBCC FREEPROCCACHE
GO

(243) измениться ли после этого время исполнения запроса?
после выполнения скрипта "поймайте" снова план запроса для проблемной операции пожалуйста
246 Aleksey
 
09.08.13
07:30
(245) за исключение DBCC FREESYSTEMCACHE ('all') все остальные строки выполняется регламентом ночью

И нет, после выполнения скрипта время исполнения запроса не изменилась?
247 Fragster
 
модератор
09.08.13
08:21
(224) это на отмене проведения? и режим удаления движений "не удалять автоматически"?

случайно не в очень-очень далеком периоде это все происходит?
случайно не выключено разделение итогов? случайно не удалена проверка на наличие записей при записи пустого набора?
248 Aleksey
 
09.08.13
08:38
(247)
"это на отмене проведения? " - частично да, проведенный документ помечаю на удаления

"и режим удаления движений "не удалять автоматически"? " * Типовая БП 2.0, т.е. стоит "Не удалять автоматически"

"случайно не в очень-очень далеком периоде это все происходит?" - Нет. В базе 2 организации. по одной очень много документов, но все действия происходит по другой организации, по которой нет ни движений ни документов. Итоги рассчитаны по 30.06, тестовые документ проведён в июне, так что нет

"случайно не выключено разделение итогов?" - Нет ,по всем регистрам включен режим разделения итогов.

"случайно не удалена проверка на наличие записей при записи пустого набора?" - это уж я не знаю, самостоятельно ничего не добавлял и не убавлял, а уж что писатели типовой наворотили, могу поискать, если скажешь что искать.
249 Aleksey
 
09.08.13
08:41
на самом деле в тестовой базе порядка 30 документов реализации все они сформированы в июне-июле, но все они помечены на удаления, т.е. проведенных реализаций по этой организации нет
250 z01
 
09.08.13
09:05
(0)тии со всеми птичками?
251 z01
 
09.08.13
09:12
252 z01
 
09.08.13
09:16
(250) в (249)
и кстати что видно в профайлере?
253 Fynjy
 
09.08.13
09:29
(244) Кстати да ))
254 Aleksey
 
09.08.13
10:39
(252) Ты не умничай, ты пальцем покажи

В какой момент, что и как смотреть то?
255 Aleksey
 
09.08.13
10:40
(252) И да ТиИ со всеми галочками плюс ТиИ средствами Скуля
256 z01
 
09.08.13
12:48
(254)смотреть прежде всего нужно в монитор активности скульного сервера, делает ли он что-нибудь вообще в момент когда у тебя 1С подвисает, если он сильно занят рыть в него, но скорее всего нужно добавить процессов в сервер 1С и смотреть что делает винда под которой крутится этот агент
257 Demiurg
 
09.08.13
13:38
(246) приложите скриншот с планом запроса выполненого  после скрипта пожалуйста
258 Aleksey
 
09.08.13
13:41
(256) я в базе один (тестирую вечером когда никого нет). никаких "сложных" задач не выполняется, т.е. занятость его близка к нулю. (на скуле проц 16-ти ядерный (4-х головый AMD Opertron), 32 гига ОЗУ). Плюс тесты проводились несколько раз (раз 10 минимум пробовал серваки по очереди перегружать) и всегда время было +/- в пределах погрешности

Количество процессов в сервере сейчас 4 (сервер предприятия отдельная машина 12 ядер (2 - 6ти ядерных AMD Opertron) ОЗУ 16 Гигов)
259 Aleksey
 
09.08.13
13:47
(257) какой из? если тот который 'DELETE FROM T2, из  Набор.Записать(); так он до последней буквы и цифры совпадает с (242)
260 Aleksey
 
09.08.13
13:49
Собственно имя пользователя на https://skynet.gilev.ru/QueryTJ/ru_RU/ совпадает с ником я думаю доступ туда есть у вас
261 z01
 
09.08.13
16:43
(258)ну и как такое возможно чтобы на таком железе с такими настройками документы по полчаса проводились? конфа точно не старая и не самописная? винду скуль обновления и платформу ставили с дистрибутива или через танцы с бубном подменой файлов? можно кстати сделать удаление конфиденциальной информации типовой обработкой с итс и выложить - я бы посмотрел да и много кто ещё наверное тоже
262 z01
 
09.08.13
16:45
.net должен последний стоять
263 Demiurg
 
09.08.13
19:39
(259) https://lh3.googleusercontent.com/-672p8vY88KQ/UgUMIQHqcKI/AAAAAAAAEes/dkle2oOTyfQ/w1278-h605-no/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA1656.png

1) во сколько по времени вы выполнили наш скрипт?
2) выполняете запрос параллельно с рабой других пользователей или вы в базе монопольно?

по плану запроса "ожидаемое" количество строк не совпадает на два порядка с фактическим, обычно такое бывает при неактуальной статистике, поэтому хотелось бы увидеть план запроса сразу после обновления статистики нашим скриптом

3) какое количество строк в таблице всего?
можно посмотреть скриптом
USE RAP_AC20_LTS
GO
SELECT count(*) from dbo._AccRg459
264 Demiurg
 
09.08.13
19:47
есть некоторая несостыковка в том что говорите:

1. Нажимаю пометить на удаления. и .... жду чуть более 11 секунд
2. вы утверждаете что больше 90% приходиться на записать
3. согласно замерам запрос длится меньше секунды

можете проверить скорость в монопольном режиме?
давайте локализуем, куда именно при записи деваются еще 10 секунд
265 Demiurg
 
09.08.13
19:52
если в монопольном режиме будет работать существенно быстрее, то надо собрать данные через http://www.gilev.ru/latch/ и проанализировать ожидания на блокировках
266 Aleksey
 
09.08.13
20:18
(261) БП КОРП 2.0.50.3 платформа 8.2.18.109. почти типовая (мзменен нумератор в пределах дня + RLS для бухгалтера, остальное типовое. Ну т.е можно сказать типовая)

винда на сервере предприятия и на скуле 2008 R2 с SP1 (автообновление включено). MS SQL 2008, все с дистрибутиво вроде бы ставилось (я не админю ОС, 1С сам с дистрибутива ставил)

По поводу копиии.. там DT файл на 600 метров напряжно выкладывать и качать, но готов по тим вьюеру доступ потыкать дать, при условии что не поломаете ничего :)
267 Aleksey
 
09.08.13
20:22
(263)
1. выполнил скпит настроил логи, пометил - ничего не поймал. почистил логи пометил вот это он и показал. т.е. после выполнения только один этот документ проводился и помечался на удаления, больше ничего

2.  Один, не монопольно (ну т.е. не писал установитьМонопольныйРежим(истина)) в обычном режиме

3. 5084950
268 Aleksey
 
09.08.13
20:26
(264) это меня тоже удивило. я делал замер средствами 1С
https://dl.dropboxusercontent.com/u/4773325/Замер.pff

Он показывает

Модуль ОбщийМодуль.ОбщегоНазначения.Модуль
Строка Набор.Записать();
Кол. 20
Время (чистое)    10,802638
%Времени 96,94


Перегружал скуль серваки в принципе всегда получал примерно эти цифры (более 10,5 сек, 96-97% времени)


Это до скриптов и всего прочего
269 Aleksey
 
09.08.13
20:48
Запустил скрипт, установил монопольный режим, отключил ЖР (а вдруг?). Запустил замер средствами 1С и запустил пометку ... чудо не произошло


Время чистое - 10,155058 (96,79%)
270 Demiurg
 
09.08.13
21:34
(269)
появился спортивный интерес:

1) потенциально "большой обьем данных"

пока как я понял мы имеем запись в 10 секунд документа, который вставляет чуть больше 2 тысяч строк в таблицу с 5 миллионами строк

если дело в объеме данных, тогда если вы будете писать в пустую таблицу, то время будет другое, но тогда замер запроса "врет"

если замер запроса все таки правильный, а это можно дополнительно проверить, если программно получить время перед методом записать и еще раз программно получить время сразу после метода записать и посчитать разницу, то
кроме этого запроса в секунду должны быть:
а) другие запросы, пускай даже быстрые, но если их 10 штук будет, то может и правда 10 секунд набежит
- проверить можно профайлером
б) если только один запрос, то надо получить время начало записи метода и сравнить с временем начала метода запроса, т.е. нам надо оценить нет ли там несколько секундных интервалов, это может быть при передаче данных по сети с участием антивируса, я такое уже видел

Наверное все таки нужен будет тимвьювер, давайте попробую посмотреть в понедельник, наберите меня в скайп gilev_slava :)
271 Aleksey
 
09.08.13
21:39
(270) лучше в нерабочее время, чтобы никто не мешал
272 Demiurg
 
09.08.13
21:41
(271) хорошо, воскресенье вечер или понедельник вечер
я сейчас -> на дачу :)
273 z01
 
12.08.13
11:33
и?
274 Aleksey
 
14.08.13
16:15
(273) У провайдера были проблемы с инетом, сейчас вроде бы починили, так что в ближайшее время будет продолжения
275 z01
 
14.08.13
17:11
ждем-с )))
276 Odavid
 
15.08.13
10:56
(14)>>даже tempDB лежит на рамдрайве
Если оптимизируешь по Гилеву - то и спрашивай его, почему он только анальгин знает и назначает его от всех болезней.
277 Odavid
 
15.08.13
11:01
(169)>>А он поможет
Поможет для случая "доктор, ну, если не знаете - так лечите хотьь от чего-нибудь, я ж деньги за это плачу!!"
Для всех остальных случаев - там набор накопированных советов со словом "SQL".
278 Odavid
 
15.08.13
11:10
(217)>>ничего не нашел он
А там ничего и не ищется особо.
Считаются какие-то попугаи, и анализируется очевидное: когда клиент запускает проведение документа и ждет 20 минут, сервис сообщает: "у вас проблема с проведением этого документа".
Это все расчитано на тех, чей пример сообщения внесен в статью:
"...запускаем обработку (т.н. Робот).. лажа с этим MS SQL (мать их)...."
Вот для них и придуманы все эти сервисы и тестилки от 1С.