Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как можно ускорить или в чем потери? (число прочтений - 3222 )
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Как можно ускорить или в чем потери?
14. Февраля 2007 :: 20:55
Печать  
1. Реализовано:
а). В качестве обекта выбран документ (реквизиты шапки документа);
б). Из 100% реквизитов документа - 30% (самые "основные") хранятся штатно в 1С-ных таблицах, а 70% (дополнительные) во внешней не 1С-ной базе данных;
в). Выборка и сохранение реквизитов документа (70%) при операциях модификации обекта производяся с помощью класса. Все реализовано с использованием 1С++ (2.0.1.2) + 1С (25 SQL). Все что происходит в классе это - SELECT, INSERT и UPDETE.
2. Замечено, что общее время, к примеру сохранение обекта может занимать 400 (условных единиц времени - у.е.в.) по сравнению к 16 у.е.в. если бы все 100% ревизитов документа были в 1С.
Если мониторить отладчиком, профайлером особенных потерь (больше 5 % от общего времени выполения команды сохранения) не обнаружено.
3. Вопрос. На чем я теряю производительность, и как (при возможности) ее можно повысить?
  
Наверх
ICQ  
IP записан
 
Uzhast
1c++ power user
Отсутствует



Сообщений: 1341
Зарегистрирован: 30. Августа 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #1 - 14. Февраля 2007 :: 21:07
Печать  
Может быть, на времени коннекта к внешней БД?
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #2 - 15. Февраля 2007 :: 18:41
Печать  
Чем вызвана необходимость хранения дополнительных данных вне 1С?
Шо за данные?  Подмигивание
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #3 - 18. Февраля 2007 :: 11:08
Печать  
Цитата:
Чем вызвана необходимость хранения дополнительных данных вне 1С?
Шо за данные?  Подмигивание


1. Вопрос о необходимости не стоит.
2. Даные обичные, реквизиты документа.
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #4 - 21. Февраля 2007 :: 09:37
Печать  
Думаю, что все таки проблема в том, как формируется запрос на обновление. Так 1С для обновления делает хитро. Сначала обьявляет переменные, записывает в переменные значения, а потом вызывает EXEC с тесктом запроса, которій и делает апдейт. Думаю что апдейт происходит всей записи (всех значений колокнов), а не только измененных. При этом 1С блокирует всю таблицу (tablockx). Что же происходит с тем случаем - когда происходит UPDATE в другой таблице. Ну во первый происходит параметризация данных, т.е. 1С++ переводит типы 1С в типы базы данных. Во вторых апдейт просиходит на самом низком уровне изоляции транзакции (сам update). Возможно еще есть разница в индексах, так выгрузка и загрузка базы происходит с переиндексацией индексов и их дефрагментацией, чего не просиходит с внешенй базой, т.е. индексы в ней дефрагментирвоаны.
  
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #5 - 21. Февраля 2007 :: 09:40
Печать  
Цитата:
Чем вызвана необходимость хранения дополнительных данных вне 1С?
Шо за данные?  Подмигивание

Вызвоно тем, чтобы ускорить работу с документами, так для 1С есть большая разница выберать 100 реквизитов при оптрытии формы, или же все таки 10. Но как всегда есть золотая серидина, между тем насколько разгрузить для этого 1С и насколько загрузить для этого другую базу.
ЗЫ
Не думаю что проблема в том, что это другая база, ведь она находится на этом же сервере. Но вот то что эта другая база участвует в репликации - это уже другой разговор, ведь по сути есть дополнительные поля и тригер, что отлавливает изменения (если я не ошибаюсь).
  
Наверх
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #6 - 22. Февраля 2007 :: 07:52
Печать  
pvase писал(а) 21. Февраля 2007 :: 09:40:
Цитата:
Чем вызвана необходимость хранения дополнительных данных вне 1С?
Шо за данные?  Подмигивание

Вызвоно тем, чтобы ускорить работу с документами, так для 1С есть большая разница выберать 100 реквизитов при оптрытии формы, или же все таки 10. Но как всегда есть золотая серидина, между тем насколько разгрузить для этого 1С и насколько загрузить для этого другую базу.
ЗЫ
Не думаю что проблема в том, что это другая база, ведь она находится на этом же сервере. Но вот то что эта другая база участвует в репликации - это уже другой разговор, ведь по сути есть дополнительные поля и тригер, что отлавливает изменения (если я не ошибаюсь).


Так Василь згоден з тобою. На рахунок реплікації. Інсет чи апдейт в таблицю що реплікується і не реплікується мабуть не одини і той час займає, але здається втрати ще на чомусь таки є, от де... Нерешительный
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #7 - 22. Февраля 2007 :: 08:07
Печать  
Переводи свою мову на русский!
Уже были предупреждения на эту тему.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно ускорить или в чем потери?
Ответ #8 - 22. Февраля 2007 :: 08:11
Печать  
Пиши по-русски, у нас русский форум.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать