Вход | Регистрация


1С:Предприятие ::

Метки:Производительность

Проведение документов

Я
   Elric
 
06.07.04 - 23:35
Столкнулся с такой фишкой. Стоит комплексная SQL (украинская конфигурация) и нужно перепровести конкретные виды документов за довольно большой период. И проблем нет, замечательно идет. НО. Создается впечатление, что машина с каждым часом (!) замедляется. Если остановить обработку, закрыть Предприятие, тут же открыть и запустить обработку начиная на один-два документа ранее остановки, то эти самые один-два документа проводятся раза в три быстрее!

Машина мощная, четырехпроцессорный сервер, 2 Гб ОЗУ, на винте (скайзи рейд) места по горло, так что дело не в железе. Обработка просто дает команду Док.Провести() без всяких промежуточных "вспомагательных" расчетов. Время замерял, оставляя соответствующие записи в журнале регистрации (даже если это хотя бы на 1 процент замедлило процес, то одинаково для всех случаев), так что показатель довольно точный.

Так в чем же может быть дело?
 
  Рекламное место пустует
   SnarkHunter
 
1 - 06.07.04 - 23:42
Дело может быть в инструменте, которым перепроводятся "конкретные виды документов за довольно большой период"...
   Warlock
 
2 - 06.07.04 - 23:45
+1 Или в самих документах - при проведении они что-то делают, урезая себе кусочек памяти... Своп растет...
   Elric
 
3 - 07.07.04 - 00:04
На счет инструментов, то это просто перебор документов за период и проверка нужного ли они вида. Если да, то документ проводится (Док.Провести(), ничего больше).

Про сами документы. Они делают запросы, на их основании делают движения. Все как полагается.
А какие именно "что-то" могут урезать себе кусочек памяти так что не отдают? Чтоб я знал, что искать. Или как определить эти "что-то"?
   Elric
 
4 - 07.07.04 - 00:08
Подскажите, срочно надо. Исправляю баги одного ламера и хочу этой ночью поспать вместо того чтобы дежурить и перезапускать обработку каждые два часа.
   Warlock
 
5 - 07.07.04 - 01:18
(4)Ни фига не получится. Запросы выделяют под себя память, которая не освободится, пока не закроется обработка или 1С. (Это мои наблюдения). Можно сделать, чтобы 1С-ка перезапускалась каждый час, но это геморройно...
   ws_mason
 
6 - 07.07.04 - 05:16
Если используешь стандартную обработку "Обработка документов", да не в монопольном режиме, то там используется транзакция. Из-за нее все тормоза.
Как-то встречал пост, что эту обработку надо подправить, провелось 100 (50, 150 ...) документов - фиксируем и новую начинаем.
   SnarkHunter
 
7 - 07.07.04 - 06:04
(6)Правильный подход...
   Warlock
 
8 - 07.07.04 - 09:14
(6,7)Это еще смотря что документы делают в проведении... Если они делают запросы по всей базе, создают элементы справочников, ищут что-то в базе, то в транзакции это будет еще хуже... в смысле памяти еще больше понадобится...
   Elric
 
9 - 07.07.04 - 12:10
(5) Придется что-то подобное в итоге придумать. Такие операции еще предстоят не один раз.

(6) Неправильный подход. Я специально проверил каждую строчку этой стандартной обработки и поубирал все транзакции для разделенного и временный расчет бухгалтерских итогов для монопольного режима -- не до них сейчас. Так что она стала не "стандартной", а такой, как я и говорил. Но все равно спасибо.

Может кто знает, как освобождать память без закрытия программы? Если переменным, содержащим запросы или таблицы значений присваивать ноль перед закрытием модуля, то поможет? Или это и так автоматически делается?
   ws_mason
 
10 - 07.07.04 - 12:43
База то на SQL, так может это он кэширует, кэширует ...
 
  Рекламное место пустует
   SnarkHunter
 
11 - 07.07.04 - 12:48
Мдя... Я ж говорю - дело в инструменте...
   Elric
 
12 - 07.07.04 - 13:10
Я еще один ньюанс не сказал, хотя по идее не должно сыграть. Все это идет через терминал-сервер.

Всем спасибо :)
   laeg
 
13 - 07.07.04 - 15:18
(12)
Если База по объему меньше 2 гигов, то совет выгрузи, загрузи в ДБФ и проведи на ТС ... раза в 4 быстрей дело пойдет. Затем опять в Скуль загрузишь ...
   Elric
 
14 - 07.07.04 - 15:52
(laeg 13 - 07.07.04 - 15:18)
Спасибо. БД около 1Гб. Я почему-то сам не додумался, обязательно попробую.

Что такое ТС?
   Elric
 
15 - 08.07.04 - 17:31
(laeg 13 - 07.07.04 - 15:18)
Спасибо! Действительно помогло. И ускорение было гораздо больше, чем в четыре раза.
Параллельно обработка была запущена на работе на сервере в SQL-варианте и у меня дома на машине зачительно слабее (Athlon 1,7GHz, 256Mb). За 12 часов в SQL-ной базе были перепроведены документы за 2 месяца, а на домашнем ПК за 9 часов -- за 6 месяцев (до конца года, что и требовалось). Распределение (и содержание) документов по месяцам примерно равномерное, так что выигрыш в скорости налицо. Даже учитывая то, что операция загрузки базы в dbf-формат длилась больше часа.

Еще раз спасибо.
   SnarkHunter
 
16 - 08.07.04 - 19:31
(13)А почему именно меньше 2 гигов?
   427
 
17 - 08.07.04 - 19:41
(16) а разве не знаешь, шо опосля 2 гигов приходится этот самый, на букву П?
   SnarkHunter
 
18 - 08.07.04 - 20:24
(17)Как же я то в Новотабаке с 5-гиговой дбфной маялся? Или это фантастика...
   Warlock
 
19 - 08.07.04 - 20:34
(18)А кол-во юзеров?
   SnarkHunter
 
20 - 08.07.04 - 20:39
15-25...
   Warlock
 
21 - 08.07.04 - 20:46
(20)Круто... А как ты решал проблему с переиндексацией базы, если кто-то некорректно вышел?
   SnarkHunter
 
22 - 09.07.04 - 06:33
(21)Не более 15 минут...
   Warlock
 
23 - 09.07.04 - 08:47
(22)15 минут - не хило... Но меня интересует другое: у каждого пользователя есть право монопольного запуска? После переиндексации не забывали зайти в 1С немонопольно?
   SnarkHunter
 
24 - 09.07.04 - 09:02
Если интересно - 307-070-414
   Warlock
 
25 - 09.07.04 - 09:12
(24)ОК, вечером постраюсь связаться, но мог бы и здесь написать...



Список тем форума
Рекламное место пустует   Рекламное место пустует
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки - вот настоящая работа.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует