Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   1С 7.7 ТИС База ДБФ Опять задолбали блокировки (http://forums.kuban.ru/f1040/1s_7_7_tis_baza_dbf_opyat-_zadolbali_blokirovki-3916245.html)

Путевый лист 22.03.2013 16:02

1С 7.7 ТИС База ДБФ Опять задолбали блокировки
 
1С 7.7 ТИС База ДБФ 6 ГБ на терминальном сервере windows 2003, юзеры все в своих папках. стоит патч убирающий 100% загрузки процессора от Кернел37.
Антивирус убран, кеширование работает!!!

Блокировки 1cjornal идут очень часто. Причем день на день не приходится. Например во вторник все было практически без проблем.
Но вот сегодня прямо с утра какой-то кошмар.
1. Был выключен комп, на котором находится один из принтеров, подключенных к юзерам на терминальном сервере - это фишка известна - вот только как с ней быть???
2. При создании платежек (которые ведь вообще не проводятся) путем копирования старых возникает ожидание блокировки, хотя вылета не происходит
3. При изменении фирмы в платежке (то есть при изменении номера документа (префикс ИБ+префикс фирмы)тоже идет ожидание.
4. При создании документа счет-фактуры кнопкой в проведенной накладной опять ожидание блокировки и вот тут начинаются вылеты по истечению времени, отпущенного для ожидания блокировок
5. Ну и т.д.
НО ВОПРОС У МЕНЯ ТАКОЙ: возможно в моей переписанной ТИС много операций типа Док.Новый, Док.НайтиПоНОмеру, всякие автоперемещения и пр. Док.ВыбратьДокументы ну и т.д. ЧТО НЕЖЕЛАТЕЛЬНО ИСПОЛЬЗОВАТЬ??? В КАКОМ СЛУЧАЕ ПЕРЕМЕННЫЕ НАДО ОЧИЩАТЬ???

ПРОСТО ХОТЬ КАК-ТО СОСТАВИТЬ ПЛАН ПОСЛЕДОВАТЕЛЬНОГО НАСТУПЛЕНИЯ НА ЭТИ ПРОБЛЕМЫ И С ТОЧКИ ЗРЕНИЯ ЗАГРУЖЕННОСТИ СЕТИ И С ТОЧКИ ЗРЕНИЯ ОПТИМИЗАЦИИ РАБОТЫ В 1С. Я ГОТОВ НОЧИ И ДНИ СИДЕТЬ И КРОПОТЛИВО ЭТО ДЕЛАТЬ!!!

vah1 22.03.2013 16:12

пункт забыл: сервант от батареи отодвинуть

user1C 22.03.2013 16:28

"ДБФ 6 ГБ" - мусьё знает толк в извращениях...
обрезание базе сделать не вариант?

newbas 22.03.2013 16:39

Что о можно сделать:
1. Тестирование и исправление
2. Обрезка базы
3. Режим открытия объектов "Просмотр"
4. Уменьшить время "Период опроса изменений базы данных"
5. Увеличить "Время ожидания захвата таблиц"
6. Убрать(оптимизировать) алгоритмы проведения документов - добиться быстрого проведения, переход на прямые запросы и т.д.
7. Не нарушать границу последовательности, проводить документы оперативно со сдвигом ТА
8. Переделать интерфейс основных документов и списков справочников на ТП + поставщик данных
9. Переписать отчеты на прямых запросах
10. Перейти на SQL
11. Почистить историю периодических элементов
12. Обрезать базу
13. Уменьшить число юзеров ;)

Насчет извращений - попадалась мне база 15 Гб на DBF - тяжеловато, но работала

newbas 22.03.2013 16:44

Еще забыл
14. Перейти на снеговика

user1C 22.03.2013 16:47

(3)
"[em]Насчет извращений - попадалась мне база 15 Гб на DBF - тяжеловато, но работала[/em]"
ога, если одному монопольно работать)

vah1 22.03.2013 16:55

туповатых юзеров расстрелять уже было?

oxo 22.03.2013 17:47

из 3-ёх: быстро, качественно, недорого — выбирайте любые два пункта..

oxo 22.03.2013 17:50

Путевый лист, упустил из виду: размер самого большого DBF и CDX?

Путевый лист 22.03.2013 19:05

Продолжаю!!!
1. База обрезана в конце 2012 года на начало 2010 года. Три периферийных базы + магазин на 8-ке с постоянным обменом с ТИС.
2. ТИИ ничего не показывает
3. Документы проводятся достаточно шустро. Скорее долго работают процедуры ПриЗаписи.
4. Граница сбита. Вот тут пока ничего не поделаешь. Думаю над этим
5. Почистить периодические реквизиты - такая мысль приходила в голову, хотя цены почищены при свертке.
6. Удаленно в базе работают менеджеры с магазинов. Делают перемещения к себе и т.д.
7. Юзеры работают в терминале!!! Время ожидания захвата таблиц баз данных = 10 И такое же время периода опроса!!!
8. Максимальный размер файла - RA328 - 1,025 ГБ, следубщий за ним RA2351 - 455 МБ.
9. Довольно большой размер журнала регистрации - 345 МБ
[b]10. Я просто видел буквально от 18 марта на мисте похожую ветку[/b]

Чучундер 22.03.2013 19:11

По симптомам видно что блокировка идет в момент создания и выделения новых номеров. рыть в этом направлении.

Чучундер 22.03.2013 19:12

(5) Кста, на Исе есть толковая статья на тему убирания записей с нулевыми итогами. похудание базы при этом - весьма приличное.

Путевый лист 22.03.2013 19:24

10-Чучундер - как рыть??? Ума не приложу пока что
И дай ссылку на ИСУ пожалуйста
Просто раньше я в-основном занимался учетом. А теперь надо чтобы учет был оптимизирован с точки зрения работы с базой данных
[b]Может быть у меня сетка перегружена??? Как понять это???[/b]

Чучундер 22.03.2013 19:36

(12) [url]http://forum.infostart.ru/forum24/topic81618/[/url]
и комменты там почитай

Путевый лист 22.03.2013 19:41

13 - Чучундер. Ну да, только это для 8-ки да еще как я понял скульный вариант, а у меня ДБФ и 1С 7.7

Чучундер 22.03.2013 19:42

хз.. смотри алгоритмы - может у тебя там при активном листании юзерами общего журнала - какие-нить выборки считаются, показ подчиненных документов и прочее..??? и что-то "лочит" журнал..???
.
запости копию ветки на мисту - там Епрст и КонецЦикла часто сидят - они могут подсказать.
.
на Исе напиши в личку hogik - он может толково помочь (ну по крайней мере диагностировать проблему поточнее) - если захочет/заинтересуется конечно.
.
при том документеобороте который у тебя там генериться - ну нечему там активно держать таблицы.
.
при активном УРБД, который возможно у тебя регулярно грузится/выгружается - должна же обеспечиваться целостность данных в файлах обмена - выгрузка/загрузка идет в транзакции (наверное?) - попытки сделать онлайнбазу из УРБД с мегаактивными обменами + накладывается иногда активность юзеров - плюс стопудово регулярные исправления заявок/перемещений задним числом - вот и получаешь. Убирай нафиг псведоонлайн и проведения задним числом максимально уменьшить (толькол для исправления уже после отгрузок по рекламациям клиентов, при оперативной работе - закрыть!!!!)

Чучундер 22.03.2013 19:43

(14) а) читай ветку на ИСЕ б) читай комменты - там четко сказано что и для 1С и файлового варианта это точно также примменимо.
.
БУДЬ ПЕРДЕЛЬНО БЗДИТЕЛЕН

Путевый лист 22.03.2013 19:43

10 - Чучундер (По симптомам видно что блокировка идет в момент создания и выделения новых номеров. рыть в этом направлении.) Как с этим сбороться. Я думаю что из-за всех этих префиксов у меня таблица содержащая номера - замусорена!!!

Путевый лист 22.03.2013 19:48

16- Чучундер А в какой таблице посмотреть мои номера и что с ними творится???
По поводу работы задним числом и кучи обменов согласен - но вот начальство хочет все в таком режиме видеть. Мне кажется, что дело все-таки еще и в неоптимальных методах которые я использую, в очень частом обращении к Константа.ПрефиксИБ. А все-таки в константах как я понял - сидит вообще вся периодика - таблица 1SBConst

Путевый лист 22.03.2013 19:49

16 - Чучундер. И еще. Документооборот за день примерно одинаковый по дням. Но вот бывают всплески нехорошие. КАК ОТСЛЕДИТЬ ИХ ПРИЧИНУ???

Чучундер 22.03.2013 19:59

(17) я вот про это и думаю.. но тут моих знаний не хватает. возможно надо посмотреть на таблицу последних использованных номеров в части отсутсвия "конфликтов" по префиксам и базам...? проверить чтобы нигде не было разных ПБ с одинаоквыми префмиками... я не спец - НАПИШИ НА МИСТУ - там поболее активных по этой части.

Чучундер 22.03.2013 20:00

(19) это не показатель. смотреть надо "пиковые" нагрузки

Путевый лист 22.03.2013 20:14

21 - Чучундер. Да смотрел я на мисту твою ветку [url]http://www.forum.mista.ru/topic.php?id=639769[/url] Но так ничего точно для себя и не вынес.
Поэтому хотя бы пока довольствоваться тем что возможно. А уже потом что необходимо!!!
Все-таки работа с ссылками созданными через СоздатьОбъект("Справочник или документ") насколько тормозит работу??? И какие методы в наибольшей степени ее тормозят. База-то живаяя и распределенная. [b]Очень стремно программую систему коверкать!!![/b]

Путевый лист 22.03.2013 20:16

21 - Чучундер. Вот если мы написали ДокБУхт=СоздатьОбъект("Документ.ДВижениеБухт) и потом используем ее на протяжении длинной процедуры, что будет если другой пользователь (работа же в сети) обратится к этой же процедуре???

Путевый лист 22.03.2013 20:19

И что делать когда с тура выключены компы на которых стоят принтеры, прописанные у терминального пользователя??? Это же жуткие тормоза создает.

Чучундер 22.03.2013 20:51

(24) принтеры перевести на принт-серверы.

Reaper 22.03.2013 20:53

Вот ты утомил. Твои ощущения, не подшиваемые к делу уже достали. Где статистика по продолжительности транзакций и вкладу видов документов в ожидания? где замеры производительности? Объясняю - первое что нужно сделать это разработать структуру csv, которые будут писаться в папки пользователей и грузиться в excel для анализа. На входе в системную транзакцию записи документа фиксируешь время начала с точностью до миллисекунды используя wsh. На выходе фиксируешь время окончания и продолжительность и сбрасываешь все в csv. Подключаешь сие ко всем документам. Ставишь время ожидания на блокировках в ноль и неделю терпишь звездюли от всех пользователей. Потом стопоришь сбор логов и возвращаешь на место время ожидания. Берешь логи, грузишь в excel и вдумчиво изучаешь. Продолжительности транзакций в разрезе дней, часов, общие пики, частные пики чтобы выделить транзакции с наибольшей продолжительностью. Получаешь первый список - документов требующих оптимизации в порядке убывания их вклада в общую беду. Выбираешь из списка документы, дающие 80% нагрузки. После этого берешь первый документ, берешь отладчик и начинаешь нудную работу по уменьшению времени его записи. Потом второй. И так по всем тяжелым. Потом вливаешь в базу и начинаешь мониторинг заново. И так крутишься пока не заработает, или не поймешь, что пора уже отправить клюшки туда, где им место.

Чучундер 22.03.2013 20:53

(23) пользователю пофиг процедуры исполняющиеся у другого пользователя. Каждый пользователь работает со своей копий программного кода, который исполняется в его "адресном пространстве".
.
Если сделал создать объект - то хз.. ничего не будет - читать и писать через объект могут каждый пользователь у себя. а вот если такая хрень написана ВНУТРИ ТРАНЗАКЦИИ - ну тут наверное блокируется вся таблица этого объекта метаданных.. и что там будет в итоге - хз...

Чучундер 22.03.2013 20:55

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

Путевый лист 22.03.2013 21:02

26 - reaper у меня логи проведения документов пишутся. Правда не через wsh. Но речь идет о моменте когда срабатывает УстановитьНовыйНомер(Константа.ПрефиксИБ+ПрефиксДокументтов по нужной фирме). Вот здесь у меня что-то не так - чувствую чувствительным местом :(((

На входе в системную транзакцию записи документа фиксируешь время начала с точностью до миллисекунды используя wsh ТЫ ИМЕЕШЬ В ВИДУ ОБРАБОТКУ ПРОВЕДЕНИЯ???

Reaper 22.03.2013 21:13

29-Путевый лист > При анализе производительности не нужно чувствовать. Есть точные показатели выраженные в цифрах. Пока ты их не приведешь - не о чем разговаривать.

[quote=Путевый лист;29660022]ТЫ ИМЕЕШЬ В ВИДУ ОБРАБОТКУ ПРОВЕДЕНИЯ???[/quote]

Конечно же нет. Я имею в виду продолжительность всей транзакции, что блокирует таблицу общего журнала документов.

Путевый лист 22.03.2013 21:20

30 Reaper Тогда вопрос: так в каких местах надо ставить запись в логи??? Во всех предопределенных процедурах???
На входе в системную транзакцию записи документа - так где этот вход??? ПриЗаписи и в ОбработкеПроведения и в УстановитьНовыйНомер()???
И все-таки как проверить что у меня творится в номерах документов??? Что абсолютно точно - так это то что УстановитьНовыйНомер тормозит. Создание с/ф на основании реализации тоже частенько просто выбивает транзакцию. Ну там идет проверка через Журнал подчиненных.

Reaper 22.03.2013 21:33

[quote=Путевый лист;29660258]Что абсолютно точно - так это то что УстановитьНовыйНомер тормозит. [/quote]

Ты с чего это взял? На кофейной гуще погадал? С чего ты решил, что это именно торможение метода, а не ожидание им на блокировке? Я ведь не из любви к насилию требовал установить время ожидания на блокировках в ноль. А где найти входы выходы в транзакции - это уж, извини, твоя забота. Изучай документацию, качай скиллы по работе с данными на физическом уровне. Это ж ты за эту работу будешь бабло получать - тебе и учиться, тебе и отвечать.

Чучундер 22.03.2013 21:45

(31) Сделай как Столбик говорит. Поставь запись в логи в обработках проведения на входе и во всех точках выхода (это конечно грубо будет, потому как объект блокируется в момент первого обращеняи к нему, но для начала сойдет). И поставь запись в лог до и после установить новый номер.
.
И ПОСТАВЬ ВОПРОС НА МИСТУ. те что - лень там зарегится?

Чучундер 22.03.2013 21:46

(31) Сделай как Столбик говорит. Поставь запись в логи в обработках проведения на входе и во всех точках выхода (это конечно грубо будет, потому как объект блокируется в момент первого обращеняи к нему, но для начала сойдет). И поставь запись в лог до и после установить новый номер. Ну и не забудь в явных транзакциях то же самое.
.
ПриЗаписи() никаких транзакций в самой процедуре - не порождает.
.
И ПОСТАВЬ ВОПРОС НА МИСТУ. те что - лень там зарегится?

Reaper 22.03.2013 21:54

[quote=Чучундер;29660618] ПриЗаписи() никаких транзакций в самой процедуре - не порождает. . И ПОСТАВЬ ВОПРОС НА МИСТУ. те что - лень там зарегится? [/quote]
И что, ты хочешь сказать, что при записи документа ничего не пишется в общий журнал? Ну-ну...

Путевый лист 22.03.2013 21:55

34 - Чучундер. Да зареген я на мисте даынм давно. Просто как-то привык к Т1С.

А где найти входы выходы в транзакции - это уж, извини, твоя забота. Изучай документацию, качай скиллы по работе с данными на физическом уровне.
[b]Если бы еще знать что изучать и что такое скиллы[/b]

Чучундер 22.03.2013 22:04

SKILL - уровень владения чем либо. Показатель мастерства и крутости.
.
Вот у меня по горным лыжам (не профессионалы и не люди зарабатывающие этим) - скилл где-то в районе 6 из 7 балльной шкалы.

Reaper 22.03.2013 22:04

Начни с чего-нить такого:
[url]http://citforum.ru/database/dblearn/dblearn10.shtml[/url]

Как въедешь в общую теорию ищи описания логики работы клюшек с этими механизмами. Я на форуме 1cpp в свое время нахватался. Не знаю как сейчас. После этого ты хотя бы сможешь понять как начать экспериментировать с платформой, чтобы определить точки входа/выхода блокирующих транзакций в обработчиках событий встроенного языка. И сразу говорю - одной статьи мало. Волшебной таблетки не существует.

Чучундер 22.03.2013 22:05

(35) разуй глаза ;-) !!!_В процедуре_!! ПРИЗАПИСИ() - ничего не блокируется.


Текущее время: 02:47. Часовой пояс GMT +3.