DBEng32 (6.0.4.2, Advantage 8.1/9.1) - клиент/серверное использование DBFной версии 1С:Предприятие 7.7

Опубликовал hogik в раздел Программирование - Внешние компоненты

Данная разработка позволяет использовать систему 1С:Предприятие 7.7 (DBFная версия) в режиме клиент/сервер на базе сервера Advantage 8.1/9.1 разработанного фирмой Extended Systems Inc. Предлагаемое решение позволяет устранить основные недостатки DBFной реализации поддержки баз данных 1С:Предприятие 7.7.
Аналогичная разработка: http://infostart.ru/projects/811/

Файлы

Наименование Файл Версия Размер Кол. Скачив.
BIN_ADS_6042.ZIP
.ZIP 1,84Mb
07.03.11
257
.ZIP 1,84Mb 257 Бесплатно
AddInExt_1008.zip
.zip 14,64Kb
02.01.12
43
.zip 14,64Kb 43 Бесплатно
BIN_ADS_6040.ZIP
.ZIP 1,84Mb
02.01.12
178
.ZIP 1,84Mb 178 Бесплатно
BIN_ADS_6038.ZIP
.ZIP 1,83Mb
02.01.12
55
.ZIP 1,83Mb 55 Бесплатно

См. также

Лучшие комментарии

58. shoorlo 05.07.2008 14:39
Прочитал: документацию к разработке, все отзывы здесь, посмотрел на цену ADS.
Да, действительно, видимо работает быстрее и надежнее DBF/SQL (надежнее DBF, быстрее SQL).
НО сервер ADS не "бесплатный".
Вопрос: Может быть всетаки есть смысл сделать аналогичную разработку на бесплатном сервере (Firebird, MySQL, Postgresql ...).
При этом я понимаю что это будет работать медленнее чем CodeBase и ADS по причинам описанным Вами в "DBEng32.doc".
Но решит проблему "1Гб" дбф версии,
плюс бесплатность и надежность SQL - серверов,
плюс на linux ставить и обслуживать легче...
Может быть есть возможность сделать такую "Вестчь" как транслятор из обращений к MSSQL в обращения к другому бесплатному SQL серверу? Типа как делает "WINE@Etersoft SQL" в linux?
В любом случае спасибо за Ваш труд.
Ответили: (59)
+ 1 [ pisarevEV; ]
# Ответить
70. hogik 25.12.2008 05:09
(68)(Albert)
Я выяснил, что причина медленного депроведения документов и большого файла *.TPS в большом количестве удаляемых записей в рамках одной транзакции. Так криво это у них реализовано. Я проверил это и в версии 8.10.0.38 - никакой разницы. Думаю, ускорить этот процесс можно путем разнесения базы данных и *.TPS на разные жесткие диски. Как это обойти в DBEng32 - пока, не придумал. Вопрос к Вам. Зачем использовать Advantage в режиме терминал сервер? Если из-за размеров таблиц, то, на мой взгляд, логичнее использовать DBEng32 для CodeBase 6.5 в режиме ПДБД. Бесплатно, нет ограничения на количество пользователей, размер таблиц не ограничен 1(2) гигабайтами, скорость работы как в локальном режиме родных DBFов, имеются полезные настройки, устранены врожденные клинчи и т.д.
Ответили: (72)
+ 1 [ albert; ]
# Ответить
73. hogik 26.12.2008 00:46
(72) Нет.
+ 1 [ albert; ]
# Ответить
139. neomatrix 20.10.2009 01:58
(137) hogik
Спасибо за ответы и квант выделенного драгоценного времени.
+ 1 [ hogik; ]
# Ответить
91. hogik 30.01.2009 20:46
(90)(kerya33)
То, что при работе с журналами и списками скорость будет выше, чем при использовании "selta" - понятно и без загрузки базы данных ;-) Странно, что разработчики этой "selta" не сообразили это до начала реализации своей разработки. А всё остальное как быстро работает?
Про CodeBase под Linux информация от Sequiter Inc: "CodeBase for Linux has client/server support. However, client/server support does not work across different operating systems, such as between Windows and Linux."
Ответили: (93)
+ 1 [ kerya33; ]
# Ответить
100. hogik 01.02.2009 02:59
(96)(kerya33)
"Если можно поподробнее про DBF>2Гб,..."
Ставим разработку под CodeBase 6.5 - только клиентскую часть (каталог BIN). Ставим "патч" от Романа. Запускаем сессию 1С в режиме ПДБД (в окне запуска сессии ставим маршрут к базе на локальном диске). Загружаем штатными средствами базу данных. Загрузка в CodeBase 6.5 пройдет (и относительно быстро), т.к. в нем ограничение на количество записей, а не размер файла (2 147 483 647 штук). Сохраняем результат. Далее запускаем ConvDBF с флагом "/-". Сравниваем суммарный размер всех DBFов с сохраненным результатом. Если совпадает идем дальше, если нет - сообщаем мне и я буду разбираться. Далее ставим разработку на Advantage. Запускаем ConvDBF (из Advantage) без параметров. Сравниваем полученные размеры с сохраненными. Они должны отличаться не значительно, т.к. размер записей Advantage на 4 байта больше размера записи стандартного DBFа. И еще немного отличается размер заголовка файла. Всё...
Ответили: (102) (101)
+ 1 [ kerya33; ]
# Ответить
123. hogik 19.08.2009 17:48
(122)(Belomor)
1) "можно ли в ADS как-то задать ограничение"
Уменьшить файл TPS нельзя, не изменив алгоритма проведения документа. Размещение файла TPS на RAM диске повышает скорость выполнения транзакций, но снижает надежность системы. Т.к. если заваливается сервер, то для реанимации базы данных ADSу потребуется этот файл. Для повышения скорости не в ущерб надежности системы, можно его разместить на другом диске. Если же файл транзакций размешать на RAM диске, то можно использовать вот этот продукт http://ramdisk.nm.ru/ramdiskent-rus.htm и включить режим сжатия. Скорость снизится не значительно, а сжимается TPS очень хорошо.
2) "... время ... в монопольном режиме раза в три больше, чем в родных DBF."
Суть, прежде всего, не в монопольном режиме, а в локальном запуске сессии 1С. Вы так запускали сессию 1Са? Да, при использовании данной разработки скорости выполнения разных задач в разных режимах запуска сессии 1С могут улучшаться или ухудшаться по сравнению с родными DBFами.
3) "... нет ли возможности как-то ускорить ..."
Наверно - есть. Но т.к. в нашей системе нет "документа Реализация" и понятия "открытие периода", то мне сложно разбираться в причинах медленного выполнения данных алгоритмов. У нас на ADSе все алгоритмы во всех режимах запуска сессии 1Са работают либо быстрее, либо медленнее не более чем на 10% по сравнению с родными DBFами (кроме создания индексных файлов). Давайте разбираться с алгоритмами Вашей системы. Предлагайте тестовую платформу.
4) "Или лучше использовать CodeBase?"
Однозначного ответа нет. Разработка на CodeBase в локальном режиме (в ПДБД) работает значительно быстрее ADS и родных DBF на многих задачах. Но в сетевом режиме, при большом количестве пользователей значительно уступает ADSу.
+ 1 [ Belomor; ]
# Ответить
147. hogik 24.02.2010 16:34
(146)(AndyLviv)
1) "Очень долго"
По сравнению с чем? Дайте, пожалуйста, описание режимов запуска сравниваемых систем и конкретные времена выполнения.
2) "Может есть какая хитрость?"
Простые хитрости:
Для операций чтения данных из БД использовать "операцию" #61 из РУСа.
Для операций обновления БД разнести файл транзакций и базу на разные диски.
Увеличить/уменьшить размер страницы индексных файлов.
Сложные хитрости:
Переписать алгоритм с использованием РУСа.
Выслать мне базу, чтобы я смог посмотреть трассировку I/O и, возможно, внести исправления в свою разработку. Или дать другие рекомендации.
P.S. Пункт #2 имеет смысл делать только после выполнения пункта #1 данного сообщения.
Ответили: (162)
+ 1 [ VLMedvedev; ]
# Ответить
179. hogik 03.11.2010 18:02
(178)
Точно не помню. Вроде, около месяца на 3-5 пользователей. Т.е. проверить производительность системы - реально. А проверять надо, сначала на одном пользователе. Выяснить "узкие места" (задачи), где может произойти значительное снижение скорости. Типа, как в замерах из #177 сообщения данной темы.
Цены, были, когда я смотрел, ниже чем при использовании SQL-ной версии 1С-а.
+ 1 [ Свой; ]
# Ответить
211. AdepTcs 03.05.2012 05:45
(210) hogik,

1. NTFS, про ограничения читал, не встретил ни слова про файл TPS, потому и спросил у Вас :)
2. Ясно, спасибо :)
3,4. Я внимательно прочитал все объявления и полностью все комментарии, прекрасно представляю себе все риски при использовании CB в режиме ПДБД, потому и запустил в итоге на ADS (правда по началу, кажется, ADS и загружала базу в режиме "Local Server", т.к. проблема с несколькими сетевыми не была решена... и тот же ConvDBF не мог найти сервер).
5. А проблема то в этом и была, спасибо еще раз:))
+ 1 [ hogik; ]
# Ответить

Комментарии

1. support 28.10.2007 09:21
Основное различие шестой и пятой версии?
Ответили: (2)
# Ответить
2. hogik 28.10.2007 17:40
(support) (1)
“Основное различие шестой и пятой версии?”
Выделено жирным шрифтом в “Краткое описание”.
Ответили: (70) (34)
# Ответить
3. support 28.10.2007 18:06
Лучше было бы, если это было ясно из заголовка
# Ответить
4. desty 29.10.2007 07:17
затестил совместимость с прямыми запросами
получается ошибка
FAILED! ICommandText::Execute(): d:\_work\test_base\rg405.dbf is not a table

применительно к провайдеру OLEDB

Таким образом есть вопрос: "Будет ли возможность использовать 1С++ в части прямых запросов"
# Ответить
5. desty 29.10.2007 07:23
Причем:
1. Если применять VFP OLEDB -
будет ошибка "rg405.dbf is not a table"

2. Если применять Advantage OLE DB (читай родной драйвер) -
будет ошибка " Error 7014: Invalid DBF table. Table name: rg405"

Странно что при разработке решения забыли про такой момент как 1С++
# Ответить
6. bpx 29.10.2007 12:10
А если поместить md файл в саму базу, и в настройках указываать ip адрес для конекта с базой ну и ваши блокировки тоже держать в базе а не в файлах LCK Возможно ли это реализовать?
# Ответить
7. hogik 29.10.2007 19:52
(desty)
“OLEDB, VFP OLEDB, Advantage OLE DB”
Полученный Вам результат очевиден:
1) В разработке используется не DBF формат файлов.
2) Файлы стандарта ADSа имеют не стандартное (ADT/ADI) расширение, а расширение - DBF/CDX.
"Будет ли возможность использовать 1С++ в части прямых запросов"
Если данная разработка покажет преимущества по скорости в среде 1Са по сравнению с аналогичной разработкой на CodeBase, то будут развиваться средства РУС. В том числе и в части прямых запросов на SQL. Но выполнение прямых запросов будет не через 1С++.

(bpx)
Я не совсем понял - о чём идёт речь.
“А если поместить md файл в саму базу”
Данная разработка не обращается к этому файлу.
“указываать ip адрес для конекта”
Посмотрите описание функции AdsConnect() в Advantage 8.1. Если Ваш вопрос возник в части использования Linux в качестве серверной ОС, то, думаю, задача решается другим способом.
“ваши блокировки тоже держать в базе а не в файлах LCK”
В данной разработке не используются файлы LCK для блокировок.
# Ответить
8. miandrew 02.11.2007 17:35
Чего то как то не сильно заметен прирост. Все отчеты пока формируются дольше...
Ответили: (9)
# Ответить
9. hogik 02.11.2007 17:46
(miandrew)(8)
"Чего то как то не сильно заметен прирост"
По сравнению с чем? В какой тестовой платформе (сеть, локально, количество пользователей и т.д.)? Если не трудно – поподробней.
# Ответить
10. hogik 06.11.2007 15:42
Судя по рейтингу – “кривые запросы” для SQL делать не надо. Это радует…
# Ответить
11. angro 07.11.2007 09:24
много людей считает, что если разработка не продаётся следовательно автор не надёжен и в любой момент бросит.
# Ответить
12. miandrew 07.11.2007 13:06
или просто не рискуют данными базы....
# Ответить
13. hogik 07.11.2007 18:01
(angro)
“много людей считает, что если разработка не продаётся следовательно автор не надёжен и в любой момент бросит”
Хорошо, что есть и другие люди. ;)
(miandrew)
“или просто не рискуют данными базы....”
Да. Такие разработки надо хорошо проверять, перед тем как решиться на их использование. Как и любые СУБД. Пример тому ошибка в сервере CodeBase (транзакции при включенной оптимизации). А они продают его больше десяти лет. Продукт – платный. :)
# Ответить
14. Belomor 07.11.2007 19:12
to (hogik) Спасибо большое!
А вот с 1С++ было бы все-таки подружить неплохо :)

to (all)
Очень приятно удивил объем инсталлятора ADS и возможности
Про ADS обзорная информация http://www.hotsoft.ru/ADS/index.htm
# Ответить
15. hogik 07.11.2007 22:19
(Belomor)
“А вот с 1С++ было бы все-таки подружить неплохо”
Если речь идет о прямых запросах, то сделать больше чем в операциях 51-59 РУСа, не удастся. Разработчики ADS сделали типичную ошибку – “навигационный доступ” к данным для свободных (в терминологии словаря данных) таблиц и SQL несовместимы, если использовать ADT/ADI формат таблиц.
# Ответить
16. Belomor 08.11.2007 00:29
(hogik) Ну нет - так нет :) У меня сейчас загружается в ночь одна ядреная базуля, завтра посмотрю на ее быстродействие. Хотя по ощущениям, загрузка идет медленнее, чем родная от 1с. И еще вопрос - обратный переход к родному DBF возможен или пока не реализовывался?
# Ответить
17. hogik 08.11.2007 00:53
(Belomor)
“по ощущениям, загрузка идет медленнее”
Вы, надо полагать, делаете загрузку на той же машине, где лежит база данных (т.е. не по сети). В таком режиме “родные” DBFы будут работать всегда быстрее. Сравнивать производительность надо при работе в сети.
“обратный переход к родному DBF возможен”
Той же выгрузкой-загрузкой. Обратный конвертор писать не планирую.
# Ответить
18. Сhe Burashka 08.11.2007 00:53
Поясните тупому - аналогичная для CodeBase и эта разработка - они как соотносятся? и почему появилась эта? та, что на CodeBase - ее какая судьба будет?
.. и просто интересно: у автора есть статистика работы с "его" серверами с 1С - т.е. сколько народа использует ЭТО в посведневной работе 1С?
# Ответить
19. Belomor 08.11.2007 01:30
(hogik) "Той же выгрузкой-загрузкой" Этого более чем достаточно
"делаете загрузку на той же машине" Так точно. А как работа в пользовательском варианте на той же машине? Тоже чудес ждать не стоит?
# Ответить
20. hogik 08.11.2007 01:47
(Сhe Burashka)
>> “Поясните тупому”
Шутка, да?
>> “аналогичная для CodeBase и эта разработка - они как соотносятся?”
Делают разработки одно и тоже, но на разных СУБДах.
>> “и почему появилась эта?”
Мне известны всего две СУБД, на которых можно сделать данную разработку. Об ADS я узнал чуть позже, чем о CodeBase – когда разработка на CodeBase уже была опубликована. Но, на мой взгляд, ADS “мощней”, чем CodeBase. Вот и сделал на ADSе. Замечу, что, похоже, разработчики ADSа не знали о существовании CodeBase. Т.к. на сайте, продающем эту СУБД сказано, что она единственная позволяющая организовать клиент/серверную технологию для xBase систем.
>> “та, что на CodeBase - ее какая судьба будет?”
Она живет своей жизнью. Будут ошибки – исправлю.
>> “у автора есть статистика работы с "его" серверами с 1С - т.е. сколько народа использует ЭТО в посведневной работе 1С?”
За народ ничего не скажу. А у нас она работает уже год. Сервер перезапускался только из-за потери электропитания и ошибок администратора БД. Раза два-три… Пару раз переиндексировали базу данных – не по причине заваливания сервера. Недостаток заметили один. На сервере со слабой подсистемой ввода/вывода возникают значительные задержки в интерактивных задачах, если запускается одновременно серьёзный отчет. Я попытался “направить” разработчиков CodeBase на решения этого вопроса – не получилось. Это тоже послужило причиной появления разработки на ADS.
Ответили: (23)
# Ответить
21. hogik 08.11.2007 02:01
(Belomor)
"А как работа в пользовательском варианте на той же машине? Тоже чудес ждать не стоит?"
Если с сервером БД будут работать другие пользователи по сети, то лучше так не работать. А для регламентных работ так и надо работать. Скорость зависит от задач и самого железа. У меня документы проводятся раза в два быстрее (чем “родные” DBFы), а отчеты – наоборот. Сильно влияет системное кэширование. Повторный запуск отчета выполняется раз в пять быстрее первого запуска. Но, повторюсь, не для этого делался клиент/сервер – в сети, при большом количестве пользователей надо сравнивать.
# Ответить
22. Belomor 08.11.2007 12:53
(hogik) База залетала :)
# Ответить
23. Сhe Burashka 08.11.2007 13:08
(20) Спасибо за разъяснения. А как-нибудь вечерком по асе можно пообщаться?
# Ответить
24. hogik 08.11.2007 16:48
(Сhe Burashka)
“по асе можно пообщаться?”
У меня нет асе. Лучше - по обычному телефону.
# Ответить
25. Item 16.11.2007 10:38
Где взять Advantage Data Architect 8.1?
Ответили: (26)
# Ответить
26. Item 16.11.2007 11:00
(25) Вопрос снят
Нашел все даже больше здесь http://www.hotsoft.ru/ADS/files.htm
# Ответить
27. sergling 20.11.2007 23:21
Да уж, цены кусаются за сервер, не дешевле ли купить win2003 и поднять на ней терминал?
# Ответить
28. hogik 20.11.2007 23:34
Конечно дешевле. Т.к. для использования ADS надо купить и Windows Server и сам ADS.
# Ответить
29. Item 21.11.2007 16:15
Поставил на промышленную базу 500 мб.
Юзеров - 8 шт, сервер - 2003 коредуо 2-х ядреный, 2 гиг память.
Неделя работы. Ошибок нет.
Скорость:
отчеты - в 3 раза быстрее,
документы - на прежнему,
списки - летают.

В общем - пока Супер.
Кодебазе отдыхает.
# Ответить
30. hogik 28.11.2007 16:18
Отдыхает не только CodeBase, но и “родные” DBFы. На базе данных размером в 6 гигабайт (только DBFов) производительность ADS в 2-3 раза выше на самых “тяжелых” задачах. Даже при благоприятном режиме работы “родных” DBFов – монопольном.
# Ответить
31. Albert 03.01.2008 16:52
На что влияет "Размер страницы в индексных файлах" (Строка № 5: файл DBEng32.ini)
# Ответить
32. hogik 03.01.2008 17:17
Посмотрите в описании к ADS два раздела:
1) Index Page Size.
2) Index Key Size and Page Size Relationships.
# Ответить
33. pstar 23.01.2008 11:31
А почему бы не использовать родные дбФ зачем изменять формат не изменяя расширения? Ведь АДС поддерживает ДБФ формат
Ответили: (34)
# Ответить
34. hogik 23.01.2008 16:14
(33)(pstar)
“А почему бы не использовать родные дбФ”
Формат ADI/ADT имеет ряд преимуществ перед CDX/DBF.
Вот основные:
1) Снято ограничение на размер таблиц в 1(2) гигабайта.
2) Работают быстрей.
3) Поддерживает средство использования пространства от удалённых записей без построения дополнительных индексов.
4) Позволяет изменять размер страницы (блока) индексных файлов.
Есть и недостатки, но их удалось преодолеть.
“зачем изменять формат не изменяя расширения?”
К сожалению, существуют “процессы” в 1С, которые хотят видеть файлы именно с расширениями CDX и DBF. В моей разработке эти “процессы” не перехватываются. Например, после реорганизации схемы базы данных переписываются файлы из рабочего каталога в основной каталог по расширениям CDX и DBF.
“Ведь АДС поддерживает ДБФ формат”
Да.
# Ответить
35. Tarasenkov 11.02.2008 21:12
Результаты тестов производительности ADS 4.3, MS-SQL 6.5 и Borland Interbase 4.2:
http://www.prbank.ru/pbsite.nsf/61272a04b78f320ec3256c70003bf47f/4234c7e1578f75e9c3256c8­400561174?OpenDocument

Тесты несколько устарели...
# Ответить
36. @lex 03.03.2008 08:34
Вопрос к разработчику: Есть или нет DBEng32.dll для версии сервера 7.1?
Ответили: (37)
# Ответить
37. hogik 03.03.2008 17:59
(36) "Есть или нет DBEng32.dll для версии сервера 7.1?"
Нет.
Ответили: (40)
# Ответить
38. logdog 03.03.2008 19:45
смотрю выходит Advantage 9.0. ... данная разработка думаю без проблем будет работать и на базе этого сервера?
Ответили: (39)
# Ответить
39. hogik 03.03.2008 21:19
(38) “…выходит Advantage 9.0. ...будет работать и на базе этого сервера?”
Пока только - Beta. Я её еще не пробовал. Нововведений для наших задач там нет.
# Ответить
40. @lex 04.03.2008 05:57
(37)

Тогда еще один вопрос - а возможно ли? Или чего-то для работы 1С не хватает в 7.1? Есть желание поставить на Linux, для него есть кряк (7.1), 8.1 только триал
Ответили: (44) (42) (41)
# Ответить
41. hogik 04.03.2008 17:45
(40)
Запуск под Linux интересная и полезная задача. Но рекомендую сначала попробовать в версии 8.1. И если заработает, то дальше решим, что делать с версиями ADSа.
# Ответить
42. @lex 05.03.2008 01:51
(40)
Проверил под 8.1 Библиотеки и в Linux и в Windows версии 8.10.0.18 (последние) сервер - на базе Linux (триал с оффсайта) клиенты на Windows. Имеем:
Ошибка 6316 - "The version of the Advantage Client Kit driver is newer than the version of the Advantage server. The version of the Advantage server must be the same or greater than the version of the Advantage Client Kit driver. " Пока не разобрался, в чем дело. Если такая же версия сервера запускается под Windows - тогда все ОК. Сегодня попробую качнуть и поставить 9.0. О результатах отпишу.
Ответили: (43)
# Ответить
43. hogik 05.03.2008 03:02
(42)
Думаю, надо начать с запуска на клиенте под Windows утилиты “Advantage Data Architect 8.1” и попробовать соединиться с сервером, запущенным под Linux. В меню выбрать Tools->RemoteServerInfo, а там ввести значение в поле ServerDrive и нажать кнопку Connect.
# Ответить
44. @lex 05.03.2008 08:14
(40)
с версией 8.1...
...нужно было поставить adsodbc на сервер с Linux, коннект есть, остались разрешения для файлов, получаю ошибку 7040 "File creation error" будем разбираться с разрешениями в Linux
Ответили: (46) (45)
# Ответить
45. hogik 05.03.2008 17:54
(44)
В моей разработке ODBC не используется. Чтобы запустить разработку с сервером ADS под Linux надо обеспечить одновременный доступ к файлам базы данных для приложения, работающего в Linux (сервер ADS), и приложения, работающего в Windows (клиент 1С+DBEng32). Это в Linux возможно?
# Ответить
46. @lex 06.03.2008 08:19
(44)
А без установки ODBC для Linux ругается на версию сервера. Пришлось ставить. После этого ошибка пропала. Разобрались и с 7040. Оказывается, что в корне файловой системы нужно создать зеркало расшареного каталога со всеми вложенными каталогами и файлами. Вот ответ от разработчиков http://devzone.advantagedatabase.com/dz/content.aspx?Key=17&RefNo=020312-1400
После копирования папки в корень сразу не работает, 1С ругается насчет транзакций, пришлось тянуть базу в Windows и конвертить с помощью ConvDBF
Ответили: (47)
# Ответить
47. @lex 06.03.2008 08:59
(46)
Все, с одним пользователем работает :), но тормоза жуткие, надо настраивать ADS сервер
# Ответить
48. @lex 06.03.2008 09:47
Прошу прощения за флуд, но два Windows клиента с работают на ура :). Осталось победить долгую загрузку структуры данных и потестить на большем количестве пользователей
# Ответить
49. hogik 06.03.2008 16:54
(46-47) Молодец. Спасибо.
Долгая загрузка структуры данных в монопольном режиме? При первом входе в 1Су? А как вообще производительность? И по сравнению, с каким использованием 1Са?
Ответили: (50)
# Ответить
50. @lex 07.03.2008 02:38
(49)
Долгая загрузка структуры данных программы при любом входе, я думаю, это чисто сетевая проблема. Производительность как на локальной базе практически. Но есть еще одна проблема, пока не знаю из-за чего... Еще трех клиентов не удается подключить, ошибка 6420, пока непонятно, боремся :)...
Ответили: (51)
# Ответить
51. hogik 07.03.2008 02:54
(50)
Ошибка 6420, думаю, из-за ограничения на пять пользователей для демо-версии. Долгая загрузка, именно, структуры данных или долго открываются файлы? Спрашиваю об этом потому, что у меня были сложности и при использовании Windows версии. Но в этом направлении мне можно работать дальше. Очень радует, что производительность близка к режиму работы локальной базы. Может мне пора заняться версией 7.1, а Вам (если есть желание) написать маленькую инструкцию по установке системы на Linux для публикации на данном сайте? Я посмотрел описание версии 7.1. На первый взгляд проблем не будет. Но отлаживать работу с самим сервером придётся на Вашей территории.
Ответили: (56) (54) (52)
# Ответить
52. @lex 11.03.2008 02:33
(51)
Инструкцию написать несложно, вот только разберемся с ошибкой, т.к. пока удалось запустить только двух пользователей. Как запустим 5, тогда можно будет говорить об успешной установке и настройке.
# Ответить
53. hogik 11.03.2008 03:10
Странно это. Такое впечатление, что ОНО считает один вход за два. А что показывает “Advantage Configuration Utility”?
Ответили: (55)
# Ответить
54. @lex 11.03.2008 05:42
(51)
Все, пофиксили, ADS.INI поправили и положили в каталог bin, все заработало
# Ответить
55. @lex 11.03.2008 09:17
(53)
Нет, ОНО не считает один вход за два, просто по умолчанию ищет конфигурацию в каталоге ...1cv77\bin. И кстати, снесли сервер 8.1, поставили версию 7.1, в ...1cv77\bin\ кинули библиотеки ace32.dll версии 7.10.0.15 и axcws32.dll версии 7.10.0.1 из пакета aceapi для версии 7.1. РАБОТАЕТ!!! :)
# Ответить
56. @lex 11.03.2008 10:21
57. hogik 12.03.2008 00:30
Добавлена сборка для Advantage 7.1.
# Ответить
58. shoorlo 05.07.2008 14:39
Прочитал: документацию к разработке, все отзывы здесь, посмотрел на цену ADS.
Да, действительно, видимо работает быстрее и надежнее DBF/SQL (надежнее DBF, быстрее SQL).
НО сервер ADS не "бесплатный".
Вопрос: Может быть всетаки есть смысл сделать аналогичную разработку на бесплатном сервере (Firebird, MySQL, Postgresql ...).
При этом я понимаю что это будет работать медленнее чем CodeBase и ADS по причинам описанным Вами в "DBEng32.doc".
Но решит проблему "1Гб" дбф версии,
плюс бесплатность и надежность SQL - серверов,
плюс на linux ставить и обслуживать легче...
Может быть есть возможность сделать такую "Вестчь" как транслятор из обращений к MSSQL в обращения к другому бесплатному SQL серверу? Типа как делает "WINE@Etersoft SQL" в linux?
В любом случае спасибо за Ваш труд.
Ответили: (59)
+ 1 [ pisarevEV; ]
# Ответить
59. hogik 05.07.2008 16:15
(58)(shoorlo)
“Может быть есть возможность сделать такую "Вестчь" как транслятор из обращений к MSSQL в обращения к другому бесплатному SQL серверу?”
На уровне интерфейса DBEng32 – нет.
См. ответ (110) в http://infostart.ru/projects/811/
См. ответ (128) в http://infostart.ru/projects/2127/
“это будет работать медленнее чем CodeBase и ADS”
О скорости разговора не возникнет. На маленькой базе это будет работать, а на большой базе оценить скорость будет не возможно. Не дождётесь результата. Но для маленьких баз и DBFная версия работает не плохо.
“Типа как делает "WINE@Etersoft SQL" в linux?”
Но это уже сделано. И это, думаю, единственный способ посадить 1С на другой SQLной сервер. Однако меня в этой разработке смущает (теоретически) скорость работы такого решения исходя из моего понимания MS SQL и PostgreSQL. Т.к. (практически) такую реализацию я начинал делать. И отказался от такого решения.
“Но решит проблему "1Гб" дбф версии,”
Расширение с 1 на 2 гигабайта сделано в http://infostart.ru/profile/2905/projects/1725
Расширение до 2147483647 записей сделано в http://infostart.ru/projects/811 и в этой разработке режим файл-сервер бесплатный. Т.е. использование в режиме терминал-сервер данной разработки снимает ограничение на размер (в рамках разумного) таблицы базы данных.
“надежнее DBF/SQL (надежнее DBF, быстрее SQL).”
Я и к DBF добавил бы слово “скорость”. Т.к. по моим оценка на нашей системе оно работает быстрее, чем штатные DBFы.
“НО сервер ADS не "бесплатный".”
Я данную разработку делал как конкурент MS SQLному решению. Как в части выигрыша скорости без переделки конфигурации, так и в части цены.
# Ответить
60. shoorlo 07.07.2008 12:49
Спасибо за полный ответ.
# Ответить
61. Dolly_EV 16.12.2008 13:29
Ну вот, свершилось! Сразу хочу выразить автору огромнейший РЕСПЕКТ!!
Ситуация:
База около 10 Гб, УРБД - 10 филиалов, при слиянии двух фирм, и переносе остатков размер 1SENTRY.DBF в центральной БД резко скакнул за 2Гб.
И как следствие - все ВСТАЛО!
Перевод на СКЛь центральной БД особо не помогал ,т.к. на периферийках размер злосчатсной таблицы проводок подкатывал так же к критическому порогу в 2 147 483 648 байт, и запаса хватало на 2-3 дня работы.
Перевод на СКЛь всех филиалов в кратчайшие сроки (1-2 дня) так же не реален, ибо некоторые филиалы в самом захолустье региона с интернетом, который "то потухнет / то погаснет"

Итог:
1 . используя данную разработку разбросал по филиалам дистрибутив (вместе с сервером ADS = 16 мб в архиве) и за 2 дня перевел половину баз на ADS
2. 4 дня - полет нормальный - по скорости - так же как в ДБФ (отчеты - немного быстрее), транзакции перестали доставать.

Замечание:
при конвертации баз ИМХО быстрее использовать ConvDBF.exe, нежели выгрузку/загрузку. У меня по времени получилось - Conv - около 3 часов, а вот с загрузкой "попал" на 16 часов (хотя может и на сервере были какие проблемы..)

Вобщем, сие творение - спасательный круг для варианта "между СКЛь и ДБФ"!
Еще раз огромное спасибо!
Ответили: (65)
# Ответить
62. albert 23.12.2008 11:37
Почему то долго документы делаются не проведенными (ок. 10000 строк проводок)- до 20-30 мин., а проводятся относительно быстро - 5-10 мин.

Платформа 025, Бухгалтерия рел. 493, DBEng32 (Сборка версии 6.0.1.4)
Ответили: (63)
# Ответить
63. hogik 23.12.2008 17:15
(62)(Albert)
А с родными DBFами, в аналогичных условиях запуска сессии 1С, сколько минут выполняются эти действия?
Ответили: (64)
# Ответить
64. albert 23.12.2008 18:00
(63) С родными DBF: сделать не проведенным 6 мин., провести 10 мин.
У документа 17 тыс. проводок.
Ответили: (68) (66)
# Ответить
65. Сhe Burashka 23.12.2008 18:19
(61) > т.к. на периферийках размер злосчатсной таблицы проводок
а имеет ли смысл в центре иметь детальную до гвоздя проводку???
Ответили: (67)
# Ответить
66. hogik 23.12.2008 19:32
(64)(Albert)
Возможно влияет кэширование на стороне сервера. Меняется время, если выполнить депроведение после проведения? В каком режиме проводится замер - монопольно, локально и т.д.? Используется операция #61 из РУСа?
# Ответить
67. Dolly_EV 24.12.2008 06:28
(65) наверное имелось ввиду "в периферийке" а не "в центре"?
смысла конечно не имеет, только так уж исторически сложилось (и это необходимо), что миграция по основным документам "все - везде"
# Ответить
68. albert 24.12.2008 10:18
(64) Терминальный сервер (проц. Q6600, ОЗУ 4 Гб, Win server 2003 SE):
-1С 7.70.025
-Advantage Server 8.10.0.18

Соответственно захожу по терминальной сессии монопольно. Никакие операции из РУСа не использую.

Замечено: на диске С: в момент проведения/депроведения создаётся файл с расширением *.TPS. Причем при проведении он достигает размера 120 мб (для документа с 4774 проводками), а при депроведении 60 мб. Но скорость создания этого файла в 2-3 раза (условно) быстрее при проведении.

Время, если выполнить депроведение после проведения, не меняется (по-моему).

З.Ы. Есть документ с 17 тыс. проводками, так файл *.TPS достигал 900 мб.
Ответили: (70) (69)
# Ответить
69. hogik 24.12.2008 21:11
(68)(Albert)
Если у Вас есть возможность, поставьте в глобальном модуле вызов: EXT._(61,"",1), загрузив внешнюю компоненту AddInExt. Интересно, изменится ли время депроведения документа?
Ответили: (71)
# Ответить
70. hogik 25.12.2008 05:09
(68)(Albert)
Я выяснил, что причина медленного депроведения документов и большого файла *.TPS в большом количестве удаляемых записей в рамках одной транзакции. Так криво это у них реализовано. Я проверил это и в версии 8.10.0.38 - никакой разницы. Думаю, ускорить этот процесс можно путем разнесения базы данных и *.TPS на разные жесткие диски. Как это обойти в DBEng32 - пока, не придумал. Вопрос к Вам. Зачем использовать Advantage в режиме терминал сервер? Если из-за размеров таблиц, то, на мой взгляд, логичнее использовать DBEng32 для CodeBase 6.5 в режиме ПДБД. Бесплатно, нет ограничения на количество пользователей, размер таблиц не ограничен 1(2) гигабайтами, скорость работы как в локальном режиме родных DBFов, имеются полезные настройки, устранены врожденные клинчи и т.д.
Ответили: (72)
+ 1 [ albert; ]
# Ответить
71. albert 25.12.2008 09:48
(69) Время депроведения не меняется :(
Буду пробовать CodeBase...
# Ответить
72. albert 25.12.2008 18:09
(70) А из формата Advantage в CodeBase есть конвертер?
Ответили: (73)
# Ответить
73. hogik 26.12.2008 00:46
(72) Нет.
+ 1 [ albert; ]
# Ответить
74. AL2004 08.01.2009 22:25
(hogik) Очень интересная разработка.
Существует ли возможность разнести файлы конфигурации (*md) и файлы базы (dbf) в разные каталоги для работы пользователей, т.е. закрыть для пользователя файлы БД? Если я правильно понял, это возможно для CodeBase.
Ответили: (75)
# Ответить
75. hogik 08.01.2009 23:24
(74)(AL2004)
Для Advantage - нельзя. Для CodeBase - не рекомендуется, т.к. не будет работать реорганизация БД, тестирование и исправление ИБД, реиндексация и т.д.
# Ответить
76. AL2004 09.01.2009 02:29
(hogik)
Спасибо за ответ. Для проекта желательно разнести конфигурацию и базу данных, модификация и переиндексация базы будет осуществляться локально на сервере. Что посоветуете?
Ранее была Ваша информация о соотношении производительности ADS/CodeBase как 5/1 на операциях чтения.
Информация на текущих релизах актуальна?
Ответили: (77)
# Ответить
77. hogik 09.01.2009 04:14
(76)(AL2004)
"желательно разнести конфигурацию и базу данных... Что посоветуете?"
В этом случае посоветую MS SQL ;-)))
"ADS/CodeBase как 5/1 на операциях чтения"
На "тупых" операциях чтения почти 1/1. См. http://infostart.ru/blogs/482/
"Информация на текущих релизах актуальна?"
По нашему опыту эксплуатации на Advantage (в сетевом режиме, на реальных задачах, без изменения конфигурации) работает в два (и более) раза быстрее чем родные DBF. А на CodeBase (в наших условиях) работает медленнее чем родные DBF. Но это зависит от задач, количества пользователей, железа и т.д.
# Ответить
78. kerya33 10.01.2009 08:30
Хочу попробовать Вашу разработку, 1С БД под SQL ~ 20 ГБ, сконвертировать в DBF нет возможности, т.к. размер некоторых таблиц первышает 2 ГБ. Выгрузил БД в csv формат. Могу ли я воссоздать структуру и данные в ADT/ADI, используя Advantage Data Architect (Tools - Import data - Delimited Text File)? Или можно как-то по другому ?
Ответили: (79)
# Ответить
79. hogik 10.01.2009 17:08
(78)(kerya33)
"Или можно как-то по другому ?"
Можно использовать штатные средства конфигуратора выгрузить/загрузить данные. Для больших баз данных - http://infostart.ru/projects/1512/
Ответили: (151)
# Ответить
80. maljaev 28.01.2009 10:42
База 1.5 Гб. Максимальный размер DBF - 500 Мб.

1. Терминалка + DBEng32 6.0.1.5 + Advantage 9.0
2. Терминалка + DBF + патченый dbeng32.dll (для включения кэширования записи на диск)

Погонял и так и эдак. Быстродействие второго варианта выше минимум раза в 2 как на отчетах, так и на проведении/распроведении. Даже при двукратном использовании тех же документов и отчетов (так что кэш Advantage тут не причем). Единственное, что понравилось в первом варианте - то что индексы не рушатся при нештатном завершении сеанса 1С, но жертвовать ради этим быстродействием в разы я не готов, да и в терминалке эта проблема не так актуальна.
Ответили: (86) (83) (81)
# Ответить
81. JohnyDeath 28.01.2009 11:57
(80) а что за патч такой для включения кэширования? Где почитать/попробывать?
Ответили: (87) (82)
# Ответить
82. Ёпрст 28.01.2009 12:03
(81) http://www.kb.mista.ru/article.php?id=136
читай в конце страницы...
искать в закромах саму библиотеку-лень..где-то валялась :)
Ответили: (85) (84)
# Ответить
83. Ёпрст 28.01.2009 12:05
(80) гонял аналогично, забил на адвантадж.. Он подойдет только, если исключить Терминал из цепочки, как альтернатива скулю...
Имхо.
# Ответить
84. JohnyDeath 28.01.2009 12:43
(82) а включение кэширование записи в свойствах самого винта - это не то?
# Ответить
85. Ёпрст 28.01.2009 12:44
86. hogik 28.01.2009 19:38
(80)(maljaev)
А почему возникает желание проверять клиент/серверную СУБД в режиме "Терминалка + DBEng32 6.0.1.5 + Advantage 9.0"? Чего мне надо написать в инструкции, чтобы люди не тратили своё время на такие проверки? Для терминального режима логичнее использовать разработку на "CodeBase 6.5" в режиме ПДБД используя RAM диск для файла транзакций. По скорости работы в локальном режиме посмотрите http://infostart.ru/forum/forum16/topic8048/messages/ И, думаю не придется использовать "патченый dbeng32.dll (для включения кэширования записи на диск)" в ущерб надежности системы.
# Ответить
87. hogik 28.01.2009 19:39
(81)(JohnyDeath)
Не рекомендую использовать этот "патч...для включения кэширования".
Ответили: (88)
# Ответить
88. maljaev 28.01.2009 23:37
(87) Да уж год как с этим патчем и сам, и клиенты в терминалке работают - полет нормальный, никаких нареканий. На одной из баз (где документ при проведении создает еще несколько подчененных) скорость проведения этого документа при использовании патча возрастает где-то в 10 раз по сравнению с типовым, почему так сильно и сам незнаю. Но патч можно юзать либо на локальной базе, либо в терминалке. В сетевом доступе - ни в коем разе!
P.S. А с CodeBase поколдую на досуге...
Ответили: (89)
# Ответить
89. hogik 29.01.2009 04:08
(88)(maljaev)
"скорость...возрастает...в 10 раз..., почему так сильно и сам незнаю"
;-))) А я знаю, поэтому и не рекомендую его использовать.
Вызов FlushFileBuffers() в многопользовательских системах используется для гарантированного предоставления непротиворечивой информации после обновления информации одной задачей для другой. Для этого, при записи, выполняется примерно такая последовательность операций:
1) Блокировать "семафор".
2) Обновить группу связанных записей.
3) Сбросить буфера на диск.
4) Разблокировать "семафор".
Читающая задача опрашивает "семафор" и начинает чтение данных только после его разблокировки. Что произойдет если поменять местами операции #3 и #4? Читающая задача может получить противоречивую информацию, т.к. часть связанных записей не будет находиться на диске. А именно это и делается, если не выполнять операцию #3 и отдать сброс буферов на откуп операционной системе. А предложение автора данного "патча" о выборочном сбросе буферов (в части *.CDX) ошибочно, т.к. такая, в частности, последовательность операций выполняется при обновлении и чтении индексный файлов.
# Ответить
90. kerya33 30.01.2009 19:56
После моих неудачных экспериментов с wine@etersoft, postgre и selta, http://linuxforum.ru/index.php?s=4aa56fdbdac796163b8b8d3745acc6ee&showtopic=83515 решил попробовать Вашу разработку. Выгрузив по Вашему совету почти 30Гб базу компонентой от romix'а, загрузил ее под ADS server на windows. Размер некоторых таблиц достигал 3Гб, но производительность при работе с журналами и списками стала на порядок выше, чем в selta. Поднял ADS на линукс (спасибо @lex, кстати никакие adsodbc не потребовались). 1С из под windows работает нормально. Установил 1С под wine@etersoft на ту же машину, что и ADS. Advantage Data Architect тоже из под wine@etersoft нормально видит и локальный сервер и удаленный (сервер в локальной сети так-же пробовол и под windows и под linux). 1C из под wine коннектится и к локальному и к к удаленному (через cifs) ресурсу. Но вот ошибку 7040 "File creation error" так и не смог победить. Подозреваю, что это из за того, что wine имеет ограниченную область видимости в linux, а ADS-у под линукс нужно зеркало расшареного ресурса в корне. Очень хочется подружить ADS и 1С клиента под линукс. Посмотрел в сторону Вашей разработки на Codebase, но нигде в сети не могу найти Codebase сервер под линукс. Может кто, поможет ... советом.
Ответили: (91)
# Ответить
91. hogik 30.01.2009 20:46
(90)(kerya33)
То, что при работе с журналами и списками скорость будет выше, чем при использовании "selta" - понятно и без загрузки базы данных ;-) Странно, что разработчики этой "selta" не сообразили это до начала реализации своей разработки. А всё остальное как быстро работает?
Про CodeBase под Linux информация от Sequiter Inc: "CodeBase for Linux has client/server support. However, client/server support does not work across different operating systems, such as between Windows and Linux."
Ответили: (93)
+ 1 [ kerya33; ]
# Ответить
92. kerya33 30.01.2009 21:22
"А всё остальное как быстро работает?"
Пока только с платформами разными тыркался, как остановлюсь на чем то - буду тестировать конкретно. Вообще думал насчет терминального доступа, поэтому и хотел пробовать Codebase под ПДБД.
"However, client/server support does not work across different operating systems,"
Читал я это, но думал может под wine, что и получится. Если нет - попробую ADS под linux, терминал сервер под виндой, терминальные клиенты сейчас в основном тоже linux и дальше буду всех перетаскивать с винды. Если все пойдет нормально (тьфу-тьфу), буду пробовать в работе. В основном конечно волнует устойчивость, потому как переиндексация такой базы по любому займет не мало времени. Сейчас-то под ms 2003, SQL 2000 и виндовым терминал сервером проблем с базой не возникает ...
# Ответить
93. kerya33 31.01.2009 15:01
(91)(hogik)
В разделе "Тестирование и исправление информационной базы" - "Проверка физической целостности" конфигуратора при работе с ADS возникает ошибка DBEng32 #023 (Invalid path for 1CV7.DD). Так и должно быть ?
Имеет ли смысл пункт "Упаковка таблиц информационной базы" при работе с ADS ?
Ответили: (94)
# Ответить
94. hogik 31.01.2009 16:19
(93)(kerya33)
"Проверка физической целостности" конфигуратора при работе с ADS возникает ошибка DBEng32 #023 (Invalid path for 1CV7.DD)."
DBEng32.doc->РазделЭксплуатация->ПунктНомер3
"Имеет ли смысл пункт "Упаковка таблиц информационной базы" при работе с ADS ?"
Не имеет смысла, и не выполняется если включено.
"остановлюсь на чем то - буду тестировать конкретно."
А какое время загрузки базы? А в сравнении с SQLной версией 1Са?
Ответили: (96)
# Ответить
95. Сhe Burashka 31.01.2009 16:49
пишите еще! все офигенно интересно!
# Ответить
96. kerya33 01.02.2009 00:50
(94)(hogik)
"DBEng32.doc->РазделЭксплуатация->ПунктНомер3"
Извиняюсь за невнимательность, совсем голова уже опухла ...
"А какое время загрузки базы? А в сравнении с SQLной версией 1Са?"
Из 1С загрузку и выгрузку на SQL версии я не делал, просто подключал копию рабочей SQL-ной базы на машину, где начал тестирование. Загружал SQL БД только через selta под wine примерно 20 часов. Выгруженый файл romix.dat из SQL БД ~ 2,5Гб грузился в ADS под DBF-ной 1С не помню сколько, но гораздо быстрее, чем selta в postgres. Единственное, чего не стал дожидаться для тестов, это перерасчета итогов (которые как я понимаю делаются во время загрузки). В SQL ной конфигурации были задействованы "быстрые итоги", я с этим пока не разбирался.
Некоторые итоги тестирования: (не связанные с расчетом итогов)
Формирование реестра документов:
ms SQL на локальной машине -10 мин
ADS под win на этой же машине - 9 мин 45 сек ;)
ADS под Linux в локалке - 12 мин
Но на машине с Linux в 6 раз меньше памяти, да и помедленней она. Несколько (~ на 10%) снижается нагрузка на процесс 1С.exe в винде при работе с удаленным ADS. Радует что DBF версия 1С при работе с ADS на удаленной машине загружает 100 Мбит сеть на ~ на 4% (для чистоты эксперимента сетка домашняя, в ней жили только эти две машины), adsd демон под линем (собственно сам ADS сервер) во время работы отъедает 40 - 50 % процессорных ресурсов, посмотрим, что будет на нескольких запущеных задачах по сравнению с ms SQL.
Ответили: (100) (98)
# Ответить
97. kerya33 01.02.2009 00:58
Да, забыл, на Linux крутится ADS 7.1 на win - 8.1, но думаю это не принципиально.
Ответили: (98)
# Ответить
98. hogik 01.02.2009 01:49
(96)(kerya33)
"Единственное, чего не стал дожидаться для тестов, это перерасчета итогов"
На моих тестах пересчет итогов занимает бОльшую часть времени загрузки. Но я приспособился это делать через "DBEng32 для CodeBase 6.5". Сначала делаю загрузку в базу данных CodeBase в режиме ПДБД (работает быстро), затем конвертирую базу в родные DBFы, а потом конвертирую в базу Advantage. Единственно, что не проверял - как себя поведут конверторы при размере родных DBFов больше 2 гигабайт. Формально, должно работать...
(97)(kerya33)
"на Linux крутится ADS 7.1 на win - 8.1, но думаю это не принципиально"
По скорости и надежности ничего не скажу, т.к. 7.1 не пробовал. Но совместимость моих DLL и EXE есть. Достаточно в BIN каталог 1Са положить ace32.dll и axcws32.dll из версии 7.1. Похоже, что и для версии 9.х не требуется повторная компиляция моих библиотек. В этой части они молодцы, в отличии от Sequiter, где приходится, при переходе с версию на версию, компилировать всё заново.
Ответили: (99)
# Ответить
99. kerya33 01.02.2009 02:28
(98)(hogik)
"На моих тестах пересчет итогов занимает бОльшую часть времени загрузки."
Это я уже понял, когда после 100% загрузки romix.dat база шуршала еще энное количество времени и мне пришлось прервать процесс.
"затем конвертирую базу в родные DBFы", "как себя поведут конверторы при размере родных DBFов больше 2 гигабайт"
Чет, вот здесь я туплю. Конверторы может и отработают, а вот как родные DBF размером больше 2Гб можно получить? На начальном этапе (до Вашего совета по выгрузке через romix.dat) пользовал "Data Export 2007 for SQL server", там база реально только в csv выгрузилась, в DBF тоже выгрузилась, вот только большие таблицы все стали ровно 2Гб, что уж там внутри я смотреть не стал ;) Если можно поподробнее про DBF>2Гб, как раз хотел базу приводить к нормальному виду (с перерасчетом итогов).
"Достаточно в BIN каталог 1Са положить ace32.dll и axcws32.dll из версии 7.1"
А без этой манипуляции с ADS 7.1 под линуксом ничего жить и не хотело.
"Похоже, что и для версии 9.х не требуется повторная компиляция моих библиотек"
Ага, работает с библиотеками от 9.1, вот только триал коды с ОФ сайта на 9.1 под Linux они заявляют на 30 дней тестирования, а Data Architect мне показала Evolution Date 10 дневным сроком. Я не стал заморачиваться и поставил под линь ADS 7.1
# Ответить
100. hogik 01.02.2009 02:59
(96)(kerya33)
"Если можно поподробнее про DBF>2Гб,..."
Ставим разработку под CodeBase 6.5 - только клиентскую часть (каталог BIN). Ставим "патч" от Романа. Запускаем сессию 1С в режиме ПДБД (в окне запуска сессии ставим маршрут к базе на локальном диске). Загружаем штатными средствами базу данных. Загрузка в CodeBase 6.5 пройдет (и относительно быстро), т.к. в нем ограничение на количество записей, а не размер файла (2 147 483 647 штук). Сохраняем результат. Далее запускаем ConvDBF с флагом "/-". Сравниваем суммарный размер всех DBFов с сохраненным результатом. Если совпадает идем дальше, если нет - сообщаем мне и я буду разбираться. Далее ставим разработку на Advantage. Запускаем ConvDBF (из Advantage) без параметров. Сравниваем полученные размеры с сохраненными. Они должны отличаться не значительно, т.к. размер записей Advantage на 4 байта больше размера записи стандартного DBFа. И еще немного отличается размер заголовка файла. Всё...
Ответили: (102) (101)
+ 1 [ kerya33; ]
# Ответить
101. kerya33 01.02.2009 03:10
(100)(hogik)
Спасибо, обязательно буду пробовать, о результатах отпишу.
# Ответить
102. kerya33 03.02.2009 06:38
(100)(hogik)
Загрузил БД в codebase, ставил только клиентскую часть.
3 ч 20 мин подгружался romix.dat, и потом после формирования recalc.cmd еще 11 часов формировались итоги/остатки и индексы. Отработало все до конца, и это действительно быстрее загрузки в ADS, поскольку, как я писал выше, что расчет итогов в ADS мне пришлось прервать на аналогичной операции. Конвертер в ADS пока не запускал, решил потестировать "as is"
"Реестр документов"
Codebase режиме ПДБД - 1 мин 22 сек
MS SQL - ~2мин
ADS - ~2 мин.
А вот для "Анализ счета по субконто", результаты чет совсем не утешают:
MS SQL - 36 сек
Codebase ПДБД - 206 сек
ADS - 574 сек
Может нужно смотреть сам расчет, поскольку конфигурация перенесена из 1сSQL на 1сDBF-ную версию ?
Ответили: (105) (103)
# Ответить
103. hogik 03.02.2009 20:49
(102)(kerya33)
"Конвертер в ADS пока не запускал""
А как же получены замеры в ADS ?
"Может нужно смотреть сам расчет"
Сначала, думаю, имеет смысл замерить время выполнение других задач и составить полную картину.
Ответили: (104)
# Ответить
104. kerya33 03.02.2009 21:11
(103)(hogik)
"А как же получены замеры в ADS ?"
Замеры на базе, которую грузил в ADS из romix.dat, и прервал загрузку на этапе расчета итогов, когда пошли вторые сутки формирования БД. Результаты отчета "Анализ счета по субконто" (обороты, остатки) совпадают во всех трех тестах. То-же и для "Реестра документов"
"имеет смысл замерить время выполнение других задач и составить полную картину."
Хорошо, выложу результаты по другим тестам.
Ответили: (105)
# Ответить
105. hogik 03.02.2009 23:35
(104)(kerya33)
"выложу результаты по другим тестам"
И еще, пожалуйста, описание тестовой платформы.
(102)(kerya33)
"конфигурация перенесена из 1сSQL на 1сDBF-ную версию"
Если в "Анализ счета по субконто" используются запросы на штатном языке запросов, то, думаю, ускорить их выполнения можно путем установки "патча" для отключения FlushFileBuffers() на родную библиотеку DBEng33.dll (в нашем случае, именно - 33).
Или направить рабочий каталог на RAM диск большого размера. А в http://ramdisk.nm.ru/ramdiskent-rus.htm можно ещё включить "Сжимать диск"(с), т.к. DBFы хорошо "сжимаются". А результат штатного запроса в них и пишется.
Ответили: (108) (107)
# Ответить
106. Сhe Burashka 04.02.2009 01:58
...просто мностры какие-то!
# Ответить
107. kerya33 04.02.2009 06:48
(105)(hogik)
"И еще, пожалуйста, описание тестовой платформы."
AMD Athlon 64 X2 Dual 2.4ГГц, 4Гб PC-2 6400 RAM, 320Гб SATA, MS Win Server 2003 Enterprise (видит только 3Гб ОЗУ, видео интегрированное и с PAE я пока не стал разбираться да и на тестах в однопользовательском режиме пиковая нагрузка на память не составляла больше 2Гб). MS SQL 2000, ADS 8.1, Codebase в ПДБД режиме из Вашего пакета.
Вторая машина в сети P IV 3ГГц, 512Мб DDR1 3200 RAM, 230Гб SATA, Debian Lenny, сетка 100Мбит. На ней ADS 7.1 и 1cSQL под wine@ethersoft SQL (1С как клиент для MS SQL 2000, который на первой машине). Результаты последних тестов только локальные, на первом компе, хотя выше писАл, что "Реестр документов" на ADS под Linux с клиентом на MS server 2003, выпоняется почти так-же шустро, как и под MS SQL 2000 на первой машине.
"отключения FlushFileBuffers()", "на RAM диск большого размера"
спасибо, буду пробовать.
# Ответить
108. kerya33 04.02.2009 14:48
(105)(hogik)
Анализ счета по субконто
Codebase DBEng33.dll родная 176 сек
Codebase DBEng33.dll патченая 298 сек
ADS DBEng33.dll родная 577 сек
ADS DBEng33.dll патченая 457 сек
MS SQL 52 сек.
При работе Codebase c патченой dll идет активное обращение к HD, с родной - нет. Для ADS все наоборот. Ресурсов процессора и памяти задачи используют примерно одинаково, только для Codebase это 1cv7.exe, для ADS еще и процесс самого сервера. При запуске под MS SQL 1cv7.exe ресурсов процессора практически не использует, их юзает сервер.
20Гб БД на RAM диск положить возможности нет, даже при условии компрессии БД. Сильно подозреваю, что дело в формировании отчета, буду разбираться.
Ответили: (109)
# Ответить
109. hogik 04.02.2009 15:17
(108)(kerya33)
"При работе Codebase c патченой dll идет активное обращение к HD".
Если в процессе выполнения "Анализ счета по субконто" выполняется модификация БД, то время для CodeBase сильно зависит от режима запуска сессии 1С. Для разделенного режима надо обязательно класть файл транзакций на RAM диск. И "патч" никак не может влиять на скорость как "Для ADS все наоборот". Вы сессии запускаете в каком режиме? И всегда ли одинаково?
"сильно подозреваю, что дело в формировании отчета, буду разбираться."
Пришлите, пожалуйста, его и мне...
"20Гб БД на RAM диск положить возможности нет"
Естественно ;-) Я говорил, что положить на него имеет смысл файлы из рабочего (временного) каталога и файлы транзакций.
# Ответить
110. leov-001 06.03.2009 12:36
Установил на Advantage Database Server Release 9.1, работает.
Какие проблемы могут возникнуть, и стоит ли ставить на Advantage Database Server Release 9.1
Ответили: (111) (59)
# Ответить
111. hogik 06.03.2009 13:09
(110)
"Какие проблемы могут возникнуть"
Я не проверял работоспособность данной разработки в ADS 9.1.
"стоит ли ставить на Advantage Database Server Release 9.1"
Для промышленной эксплуатации - нет.
# Ответить
112. wer_alex 20.03.2009 16:47
Уважаемый коллега !!!. Разрушилась база СУБД Advantage Database Server 8.1.1. с использованием релиза binads 6015. 1С виснет на меню отбора проводок по субконто. Держалось более 8 часов. Сменил релиз binads 6031. Аdtfix базы valid. Но программа уже не виснет а дает сообщение ERROR 5104 : Моdifi.. encrypted record is not ...enabled/.You must call AdsEnableEncrypt first. Объем базы сосотавляет 580 Мb без индексов. 5 строка dbfengine увеличена до 3072. Что можно предпринять в такой ситуации. С уважением Александр
Ответили: (114)
# Ответить
113. wer_alex 20.03.2009 16:48
Мой адрес wer_alex@tut.by
# Ответить
114. hogik 20.03.2009 17:58
(112)
Александр.
"Что можно предпринять в такой ситуации"
Связаться со мной по телефону. Я его выслал на Ваш адрес.
Ответили: (115)
# Ответить
115. AL2004 02.04.2009 08:57
hogik (114).

Использую Вашу разработку.
Можно ли узнать причины краха базы ADS?
Ответили: (117) (116)
# Ответить
116. hogik 02.04.2009 14:16
(115)
"причины краха базы ADS?"
Причины - выключился (сдохли батареи UPSа) компьютер (сервер) в момент выполнения транзакции. Далее, как я понял из переписки с Александром (wer_alex), предпринимались не совсем верные действия по реанимации базы данных. Мы с Александром связались уже после того как он восстановил базу данных из копии прошлого дня. А общие правила выхода из такой ситуации следующие:
0) До запуска сервера ADSа!!! Обязательно сделать резервную копию базы данных, файлов транзакций *.TPS, журналов сообщений ADS_ERR.*.
1) Удалить файл 1SxTTS.lck из каталога базы данных.
2) Запустить сервер ADS.
3) Запустить монопольно сессию 1Са на самом сервере (в смысле ЭВМ).
В момент выполнения пункта 2 и/или пункта 3 сервер ADS будет предпринимать попытку реанимировать базу данных. Это может выполняться долго, т.к. он выполняет реиндексацию битых CDXов и откат аварийных транзакций. У меня были случаи (при тестировании надежности системы), когда ему это не удавалось
сделать - сервер ADS зацикливался. Это надо осознать путем рассматривания поведения задачи в системном task менеджере и появления записей в журнале сообщений сервера ADS (файл ADS_ERR.ADT).
Если сервер ADS не может восстановить базу данных, то надо его остановить штатным способом (останавливаться он будет тоже долго) или свалить его в task менеджере и выполнить следующее:
0) Восстановить базу данных из резервной копии, сделанной в пункте #0 предыдущего абзаца.
1) Удалить файл 1SxTTS.lck из каталога базы данных.
2) Удалить файлы *.СDX.
3) Удалить файлы транзакций *.TPS.
4) Удалить файлы ADS_ERR.*.
5) Выполнить утилиту adtfix.exe.
6) Запустить сервер ADS.
7) Запустить монопольно сессию 1Са на самом сервере (в смысле ЭВМ) для реиндексации базы данных.
8) Если выполнялся ремонт таблиц в процессе выполнения утилиты adtfix.exe, то необходимо "глянуть" эту таблицу в "Advantage Data Architect 8.1".
Ответили: (193) (194)
# Ответить
117. AL2004 03.04.2009 01:17
(115)

Благодарю за ответ.
# Ответить
118. Свой 21.06.2009 23:58
hogik, подскажите пожалуйста
есть ли на Advantage скачанный с этой страницы ограничение на количество одновременных пользователей ? или ограничение состоит в триальности (т.е. работает некоторое время)
чем может помочь приведенная вами ссылка Advantage Product Version Matrix?
Ответили: (119)
# Ответить
119. hogik 22.06.2009 01:18
(118)(Свой)
"чем может помочь приведенная вами ссылка" - позволяет скачать пробную версию.
"ограничение на..." - после установки сервера БД запустите "Advantage Configuration Utility". Нажмите кнопку "Start Service" и загляните в закладку "Installation Info". Там указаны ограничения по дате и количеству пользователей в пробной версии.
# Ответить
120. Ёпрст 15.07.2009 19:04
(0) какие изменения в новой версии?
Ответили: (121)
# Ответить
121. hogik 15.07.2009 19:26
(120) См. внутри BIN_ADS_6032.ZIP в файле History.doc последний абзац.
# Ответить
122. Belomor 19.08.2009 12:27
to (hogik) Перенес базу ТиС ~7 Гб на ADS, время проведении документа Реализация в монопольном режиме раза в три больше, чем в родных DBF. И нет ли возможности как-то ускорить расчет итогов, ибо при старте базы открытие периода происходило весьма неспешно. Файл TPS временами переваливал за 1Гб - можно ли в ADS как-то задать ограничение, дабы класть его на RAM диск? Или лучше использовать CodeBase?
Ответили: (123)
# Ответить
123. hogik 19.08.2009 17:48
(122)(Belomor)
1) "можно ли в ADS как-то задать ограничение"
Уменьшить файл TPS нельзя, не изменив алгоритма проведения документа. Размещение файла TPS на RAM диске повышает скорость выполнения транзакций, но снижает надежность системы. Т.к. если заваливается сервер, то для реанимации базы данных ADSу потребуется этот файл. Для повышения скорости не в ущерб надежности системы, можно его разместить на другом диске. Если же файл транзакций размешать на RAM диске, то можно использовать вот этот продукт http://ramdisk.nm.ru/ramdiskent-rus.htm и включить режим сжатия. Скорость снизится не значительно, а сжимается TPS очень хорошо.
2) "... время ... в монопольном режиме раза в три больше, чем в родных DBF."
Суть, прежде всего, не в монопольном режиме, а в локальном запуске сессии 1С. Вы так запускали сессию 1Са? Да, при использовании данной разработки скорости выполнения разных задач в разных режимах запуска сессии 1С могут улучшаться или ухудшаться по сравнению с родными DBFами.
3) "... нет ли возможности как-то ускорить ..."
Наверно - есть. Но т.к. в нашей системе нет "документа Реализация" и понятия "открытие периода", то мне сложно разбираться в причинах медленного выполнения данных алгоритмов. У нас на ADSе все алгоритмы во всех режимах запуска сессии 1Са работают либо быстрее, либо медленнее не более чем на 10% по сравнению с родными DBFами (кроме создания индексных файлов). Давайте разбираться с алгоритмами Вашей системы. Предлагайте тестовую платформу.
4) "Или лучше использовать CodeBase?"
Однозначного ответа нет. Разработка на CodeBase в локальном режиме (в ПДБД) работает значительно быстрее ADS и родных DBF на многих задачах. Но в сетевом режиме, при большом количестве пользователей значительно уступает ADSу.
+ 1 [ Belomor; ]
# Ответить
124. Belomor 19.08.2009 19:29
1) Я так и думал :) Но лучше спросить у более опытного коллеги :)
2) Нет, монопольный запуск с другой машины
3) В данном случае речь идет о ТиС 9.2, полагаю, что это может быть связано с отключенным признаком "автоматическое удаление движений", на SQL тоже тормоза доводилось наблюдать по этой причине
4) Т.к. предполагается терминальное использование, то после вдумчивого чтения склоняюсь к ПДБД, да и пользователей, если верить имеющейся у меня информации, не более 3 (сетевая версия на 3 пользователя)

Спасибо за развернутый ответ!
Ответили: (125)
# Ответить
125. hogik 20.08.2009 14:11
(124)(Belomor)
1) "монопольный запуск с другой машины"
Для этого режима запуска сессии 1Са имеет смысл поставить в конце глобального модуля вызов операции #61 из РУСа для всех таблиц базы данных одним вызовом.
2) "открытие периода происходило весьма неспешно"
Открытие периода или таблиц базы данных? В ADSе первое открытие таблицы за сеанс работы сервера происходит ощутимо дольше, чем последующие открытия. Попробуйте на рабочей станции сначала запустить сессию в разделенном режиме, выйти из неё, затем запустить сессию для открытия периода. Если "неспешность" открытия периода исчезнет, то причина именно в этом.
Ответили: (126)
# Ответить
126. Belomor 20.08.2009 14:59
(125) Я уже развернул базу под CodeBase d ht;bvt ПДБД
# Ответить
127. hogik 27.08.2009 01:16
Список изменений из раздела "What's New in Advantage 9" документации по "Advantage 9.1" влияющих на DBEng32:
1) 64-bit Windows and Linux Servers (улучшено кэширование на стороне сервера).
2) Dynamic Server Configuration (упрощена настройка сервера).
3) SQL Engine and AOF Performance Enhancements (затрагивает операцию #60 из РУСа).
4) Improved Transaction Performance (самое важное изменение).
# Ответить
128. y-u-h 18.09.2009 14:24
многоуважаемый автор, спасибо за разработку сию :) Наткнулся на неё, ковыряя инет в поисках решения проблемы тормозов и вылета транзакций по таймауту работы с 1С77-dbf в сети, состоящей из пяти WinXP_HOme :)
НО есть кучка вопросов, ответы на которые не нашёл в руководстве и здесь, в обсуждении, а именно:
1. касаемо базы: как серверу codebase указать, какую базу он подхватить должен. Я интуитивно сделал в лоб: скопировал всё из папки BIN\CB в каталог базы 1С, помогло :))))))
2. касаемо исполняемых файлов (платформы): как повлияют манипуляции, основанные на kernel33.dll и kernel37.dll на работу оной в windows_vista.
3. как обеспечить работу на сервере нескольких баз. То есть, крутиться на codebase должна только одна база, с которой по сети работают юзеры, другие же базы исключительно локально.Проблема, понятно в том, что после изменений в папке Bin штатной 1С, попытка запустить немодифицированные базы неудаётся по очевидной причине (ошибке): не найден файл DBEng32.ini. Неужели придётся конвертировать и остальные базы то же?
Ответили: (130) (59)
# Ответить
129. y-u-h 18.09.2009 14:30
от растяпа, не в ту ветку отписал)))))))))))))))
# Ответить
130. hogik 18.09.2009 15:19
(128) (y-u-h)
Ответы по пунктам вопросов:
1) См. в файле DBEng32.doc, раздел "Установка", последний абзац.
2) Эти манипуляции решат "проблему 1 гигабайта" ;-) Я не проверял данное решение в "windows_vista". Но, т.к. "проблема 1 гигабайта" и её решение не зависит от версии Windows-а, то, думаю, проблем не возникнет. Если же возникнут - пишите мне, исправлю. Рекомендую проверить работоспособность этой разработки в "windows_vista" на тестовой базе данных (в локальном режиме) с помощью внешней обработки из Test.zip по ссылке http://infostart.ru/projects/1725/
3) Решений два:
а) Воспользоваться текстом их DBEng32.doc, раздел "Настройка", пункт "Строка №8".
б) Использовать два каталога исполнительных файлов 1С и организовать для пользователей удобный выбор вызова 1cv7.exe из каталога соответствующего формату базы данных. Это решение - предпочтительно!
# Ответить
131. smallplushbear 19.09.2009 15:48
Ещё на пробовал ставить, в комментариях не упоминалось, вроде.

С ADS базу обратно, в DBF, восстановить можно?

"Конфигуратор >> выгрузить базу" наверно не прокатит. ADS позволяет конвертацию в DBF?
Ответили: (132) (150)
# Ответить
132. hogik 19.09.2009 16:40
(131)
"обратно, в DBF" - См. сообщения 78, 79. Полезная информация есть в сообщениях 98 (первый абзац), 100.
# Ответить
133. neomatrix 18.10.2009 18:35
Поясните чем это решение лучше чем бесплатный MS SQL Express 2005 ?
IMHO, интерес представляет только LINUX версия. Или я не прав ?
Ответили: (134)
# Ответить
134. hogik 18.10.2009 20:12
(133)(neomatrix)
"чем это решение лучше чем бесплатный MS SQL Express 2005 ?"
1) Нет ограничения на размер базы данных.
2) Не требует переделки конфигурации под прямые запросы.
3) Стоит дешевле, чем "нормальный" MS SQL.
4) Требует меньше затрат на железо по сравнению с MS SQL.
5) Проше в изучении и эксплуатации.
6) На большинстве задач работает быстрее.
7) Работает в LINUX.
8) Имеются простые дополнительные средства работы с БД, минуя штатные 1С-овские средства.
Ну а если Ваши задачи можно эксплуатировать в "MS SQL Express 2005", то ничем не лучше.
Ответили: (135)
# Ответить
135. neomatrix 18.10.2009 21:32
(134)
"чем это решение лучше чем бесплатный MS SQL Express 2005 ?"
1) Нет ограничения на размер базы данных.
согласен, да MS SQl Express - 4GB ограничение на размер базы
2) Не требует переделки конфигурации под прямые запросы.
не всегда, большинство запросов работает коректно
3) Стоит дешевле, чем "нормальный" MS SQL.
MS SQL Express 2005 вобще бесплатный
4) Требует меньше затрат на железо по сравнению с MS SQL.
затрат на железо не требует работает на том же оборудовании что и dbf версия
5) Проше в изучении и эксплуатации.
когда переносил базу прочитал только документацию к поставке MS SQL Express
6) На большинстве задач работает быстрее.
Когда перенесли 2 GB базу на SQL заработало быстрее
7) Работает в LINUX.
да, но Linux версия также платная как и Windows.

smile8) Имеются простые дополнительные средства работы с БД, минуя штатные 1С-овские средства.
Допольнительных средств для SQL тоже много.

Ну а если Ваши задачи можно эксплуатировать в "MS SQL Express 2005", то ничем не лучше.

Согласен, перенесли Торговлю и склад из dbf. на SQL Express и все, устраивает.

Итого, для себя сделал вывод что весь плюс в неограниченном размере базы , но с накладными расходами на оплату лицензии. Значит совокупная стоимость владения и експлуатации больше. Еще, есть ли опыт работы на данной разработке с базами больше 4 GB . Знакомые админы говорят, что если хочешь спать спокойно, то надо переходить на МS SQL.
Извините за многословие, но перед тем как взять разработку на воружение , хотел выяснить все "за" и "против". Когда база будет около 4 GB думал переходить на MS SQL 2005, но прочитал про Вашу разработку и задумался.
Ответили: (136)
# Ответить
136. hogik 18.10.2009 23:24
(135)(neomatrix)
Уточню по некоторым пунктам:
2) "не всегда, большинство запросов работает коректно" - я написал не "переделка" запросов, а переделка "под" (!) прямые запросы. Т.е. использовать SQL-ную СУБД в соответствии с тем как она задумывалось, а не как это делается в штатных возможностях 1С.
3) "MS SQL Express 2005 вобще бесплатный" - я написал "нормальный" MS SQL. Т.е. без ограничений и платный сервер БД.
4) "работает на том же оборудовании что и dbf версия" - у нас Advantage работает тоже на том же оборудовании, что и работала штатная DBF-ная версия 1С. У нас размер базы - 7.5 гигабайт (DBF) и 2 гигабайта (CDX). Активных пользователей - 50 штук. А у Вас? ;-)
5) "прочитал только документацию к поставке MS SQL Express" - некоторые вообще ничего не читают, а используют "интуитивно понятный интерфейс". ;-) На сайтах по Advantage есть сравнительные данные по этому вопросу.
6) "Когда перенесли 2 GB базу на SQL заработало быстрее" - я где-то читал рекомендацию, что MS SQL серверу желательно обеспечит размер оперативной памяти равный или больший размеру базы данных. Наверно у Вас такой случай. ;-)
7) "но Linux версия также платная как и Windows" - да. Зато сама ОС - бесплатная.
8) "Допольнительных средств для SQL тоже много" - я написал, что "простые", а не "много". В моей разработке "тремя" простейшими функциями можно повысить эффективность алгоритмов обработки информации в разы. Причем, не переделывать алгоритмы обработки информации, а добавить 1-2 оператора в алгоритм, написанный, на штатном языке. См.: http://infostart.ru/public/57165/
0) "для себя сделал вывод что весь плюс в неограниченном размере базы" - не правильный вывод. Если считать, что это "весь плюс", то, действительно лучше "спать спокойно"(с) и "надо переходить на МS SQL"(с). И не надо забивать себе голову данной разработкой - живите как все нормальные люди... ;-)
Ответили: (137)
# Ответить
137. neomatrix 19.10.2009 21:43
(136) hogik

Ну, почти убедили :) . Да в своем класе Advantage лучшее решение.
Уже скачал триал сейчас тестю. Ответ на пункт 4 впечатлил, еще для успокоения души скажи сколько времени бесперебойной работы было под такой базой.
Ответ на 5 пункт все правильно, MS SQL быстро работает когда вся база может уместится в оперативную память( у нас Win2003server 4 Gb RAM, да
и клиенты подключены через терминальные сессии).

Осталось 5 % сомнения, подкинули идею перейти на 1Сv8.1+IBM DB2 Express server(бесплатен+неограничен в размерах базы). Мол это современное решение, итак рано или поздно 1С8 надо изучать, а Advantage+1Cv77 it's legacy.
Ответили: (139) (138)
# Ответить
138. hogik 19.10.2009 23:47
(137)
"перейти на 1Сv8.1+IBM DB2 Express server"
И Вы еще размышляете? Если есть возможность перейти на это, то - переходите!
"сколько времени бесперебойной работы было под такой базой"
Это, смотря, что понимать под "бесперебойной работой". У нас не было срывов производственной деятельности нашей фирмы из-за программного обеспечения. Но это связано не только с использованием той или иной СУБД. У нас функционирует самописная система распределенных баз данных, которая позволяет переключать пользователей на другие серверы в случае отказа основного. И такое происходит не только из-за сбоев железа или электропитания, но и из-за, например, заливки новой версии конфигурации. Эта система успешно работала еще и на родных DBF-ах. А если говорить о самом сервере баз данных Advantage, то он ни разу не падал с момента начала его внедрения (вроде - год уже). Но мы его внедряли не на всех серверах сразу, т.е. некоторые продолжали (и продолжают) работать на родных DBF-ах.
"Ну, почти убедили"
Я Вас не убеждал! А наоборот - пытался разубедить от использования моей разработки. Ведь очень важно учитывать, что ВСЮ ответственность за базу данных Вам придется взять на себя при использовании мое разработки. А в случае внедрения легальных программных продуктов будет возможность (условно говоря) разделить ответственность с известными фирмам (производителями программного обеспечения).
Ответили: (140)
# Ответить
139. neomatrix 20.10.2009 01:58
(137) hogik
Спасибо за ответы и квант выделенного драгоценного времени.
+ 1 [ hogik; ]
# Ответить
140. viddik 26.10.2009 18:42
(138)
Если можно, расскажите поподробнее, что за "самописная система распределенных баз" у Вас?
Ответили: (141)
# Ответить
141. hogik 29.10.2009 02:08
(140)(viddik) "расскажите поподробнее"
Это очень много придется писать. ;-)
Но общая суть в том, что в конфигурации заменены все методы модификации БД на функции. Убраны элементы диалога, связанные с модификацией БД и сделаны, функционально аналогичные, кнопки диалога в которых вызываются, выше упомянутые функции (их диалоговый эквивалент). Внутри функций выполняются штатные действия, и присутствует алгоритм, который записывает объект в специальный файл (далее по тексту - СФ). Вместе с объектом в СФ записывается код операции (записать, провести, удалить и т.д.) и информация, описывающая источник (номер базы, имя пользователя, имя компьютера и т.д.). В простейшей схеме основной СФ один для всех распределенных БД. И каждая рабочая станция должна иметь доступ к своей распределенной БД и основному СФ. Допускается несколько СФ, и они синхронизируются между собой диспетчером. Диспетчер еще выполняет функции чтения объектов из СФ и помещением его в распределенную БД. В каждой распределенной БД запускается свой диспетчер, и он извлекает из СФ все объекты помещенный из других распределенных БД. Если доступ к СФ нарушается, то объекты записываются в резервный СФ. И при восстановлении доступа к СФ выполняется запись из резервного СФ в основной СФ.
Ответили: (144) (143) (142)
# Ответить
142. viddik 29.10.2009 04:11
(141) hogik
Обалдеть! И впрямь, писать пришлось немало :) Как там у Вас все перелопачено....
# Ответить
143. Dolly_EV 10.12.2009 11:19
(141) "Внутри функций выполняются штатные действия,... "
1. т.е. объект все-таки пишется в текущую базу при интерактивном нажатии?
2. СФ и ваша система "распределенных" баз - только для "горячей" замены серверов, или это аналог УРБД? если аналог - то хотелось бы по-подробнее!!!
И вообще можно отдельной статьей организовать...очень интересует, например, Диспетчер - это сторонняя прога, или все сделано средствами 77?
Ответили: (144)
# Ответить
144. hogik 10.12.2009 17:32
(143)
Евгений (DOLLY_EV)
По пунктам Вашего сообщения:
1) Да.
2) Наша система не только для горячей замены сервера. Она больше похожа на УРБД, только обмен между базами происходит на уровне отдельных объектов (документ, элемент справочника и т.д) в "реальном масштабе времени". Т.е. это не "пакетный" обмен между распределенными БД. Пакет накапливается только в случае потери связи с сервером. А при возобновлении связи, пакет автоматически передаётся и обрабатывается на всех серверах.
Никаких серьёзных сторонних программ в этой "разработке" не используется. Всё написано на штатном языке 1Са. Единственное, что делается не на штатном языке - это работа с файлом обмена информацией. Это написано на FoxPro. В нем реализованы элементарные операции с файлом - открыть, записать, читать, создать файл и т.д. Этот файл не является файлом формата DBF. Т.е. можно было бы использовать и не FoxPro.
0) Про "отдельной статьей организовать" уже написано в (141) сообщении. Кроме этого, я не считаю это решение универсальным. А грузить читателя отдельными (частными) решениям, думаю, не имеет смысла. Есть такой продукт - МОД. Это более универсальное решение. И во многом моя разработка похожа на МОД...
Ответили: (145)
# Ответить
145. Dolly_EV 11.12.2009 05:17
(144) Ясно, спасибо!
# Ответить
146. AndyLviv 24.02.2010 12:42
Подскажите пожалуйста. Возникла проблема после переноса dbf базы (размер порядка 13Гб) на сервер ADS 9.1.
Очень долго выполняется расчет остатков и функция РассчитатьРегистрыНа(). Пробовал то же на сервере ADS 8.1 - аналогично. Причем расчет регистров зависит от положения точки расчета в периоде сохранения остатков. В конце месяца вообще невозможно дождаться завершения расчета, приходится принудительно убивать процесс 1С. Может есть какая хитрость?
Ответили: (147)
# Ответить
147. hogik 24.02.2010 16:34
(146)(AndyLviv)
1) "Очень долго"
По сравнению с чем? Дайте, пожалуйста, описание режимов запуска сравниваемых систем и конкретные времена выполнения.
2) "Может есть какая хитрость?"
Простые хитрости:
Для операций чтения данных из БД использовать "операцию" #61 из РУСа.
Для операций обновления БД разнести файл транзакций и базу на разные диски.
Увеличить/уменьшить размер страницы индексных файлов.
Сложные хитрости:
Переписать алгоритм с использованием РУСа.
Выслать мне базу, чтобы я смог посмотреть трассировку I/O и, возможно, внести исправления в свою разработку. Или дать другие рекомендации.
P.S. Пункт #2 имеет смысл делать только после выполнения пункта #1 данного сообщения.
Ответили: (162)
+ 1 [ VLMedvedev; ]
# Ответить
148. AndyLviv 24.02.2010 21:51
hogik Спасибо за ответ.
Конфа самописная.
Используется сервер терминалов (я знаю, что Вы не рекомендуете использовать на нем ADS, но иного выхода нет - нужно преодолеть предел 2Gb в некоторых таблицах).
Пробовал ADS в режиме Local Server. Результат аналогичный.
Пробовал вариант с Codebase в разных режимах. Аналогично.
Долго по сравнению с штатным dbf вариантом базы в том же терминале.
В модулях документов используются констукции вида
рег.ВременныйРасчет();
РассчитатьРегистрыНа(ТекДок);
В штатном варианте время проведения такого документа до 10 сек.
Под ADS - до 5 минут. Для нашей организации это критический показатель, так как документов очень много и они часто перепроводятся задним числом.
Кроме того есть аналогичное замедление в отчетах при использовании запросов
с остатками. "Расчет Остатков..." во время выполнения запроса идет на порядок медленнее и зависит от выбранного периода (начало или конец месяца).
Видимо 1С при расчете регистра за период посылает серверу ADS отдельные запросы по каждой суммируемой строке таблицы регистра :(
Я понимаю, что проведение документов можно оптимизировать, но разбиратся с каждым отчетом (их сотни) нет физической возможности.
Ответили: (149)
# Ответить
149. hogik 25.02.2010 01:37
(148)(AndyLviv)
1) "Используется сервер терминалов"
- Клиент-серверная СУБД никогда не сравнится по скорости с DBF-ами в терминальном режиме.
2) "Пробовал ADS в режиме Local Server"
- Использовать режим "Local Server" для ADS категорически нельзя. Испортится база данных! См. различия в документации по ADS. В "Local Server" не поддерживаются транзакции!
3) "Пробовал вариант с Codebase в разных режимах. Аналогично."
- Не верю ;-))) Вариант CodeBase в режиме ПДБД работает быстрее локального режима родных DBF-ов. В этом режиме нет ограничение на количество подключений и на размер файла в 2 гигабайта. При использовании ПДБД в "разделённом" режиме медленно работает запись в журнал транзакций. Его надо разместить на RAM диске или на HDD c включенными режимами "write caching" и "advanced performance". При использовании ПДБД в монопольном режиме для "регламентных" работ, типа - "Тестирование и исправление ИБД", использовать RAM диск не рекомендую. Т.к. при этих работах могут выполняться большие транзакции и RAM диска может не хватить.
4) "Видимо 1С при расчете регистра за период посылает серверу ADS отдельные запросы по каждой суммируемой строке таблицы регистра"
- Причина другая. Никаких запросов (в понимании Вашей фразы) из 1C серверу ADS не посылается.

Как я написал в сообщении #147, можно повысить скорость чтения с помощью "операции" РУСа #61. Для выяснения влияния этой "операции" на производительность системы, достаточно в глобальном модуле поставить вызовы метода для таблиц регистров. Т.е. строчек десять в одном месте конфигурации (в глобальном модуле после загрузки ВК). Провести тестирование (замеры скорости). И если это повысит скорость, то обсудим более "грамотную" расстановку вызовов этой "операции".
А если не повысит скорость до приемлемой, то пробуйте CodeBase в режиме ПДБД или переходите на SQL-ную версию 1Са с использованием прямых запросов.
# Ответить
150. mobicom2006 13.05.2010 12:55
hogik пишет:

(131)

"обратно, в DBF" - См. сообщения 78, 79. Полезная информация есть в сообщениях 98 (первый абзац), 100.



В данных сообщениях не содержится ответа.
Как сконвертировать базу в формате ADS обратно в формат 1c DBF?
Ответили: (151)
# Ответить
151. hogik 13.05.2010 17:47
(150)(mobicom2006)
"В данных сообщениях не содержится ответа"
Содержится. ;-)
Вот текст из (79): "использовать штатные средства конфигуратора выгрузить/загрузить данные". Вопрос скорости и ограничения размеров DBF-ов см. первый абзац сообщения #98 и сообщение #100.
# Ответить
152. alexis69 25.05.2010 09:40
Клиент(DBEng32) видит Advantage Database Server если только запущен на машине (сервере) на которой установлен Win 2003 server и Advantage или если он запускается в терминальной сессии.
Если же я запускаю клиента на другой машине – он не находит адвантаж.
Выдается сообщение о том что не может законектится с Advantage Database Server.
Я понимаю что вопрос пограничный. То ли нужны спецы по win2003, то ли спецы по с Advantage Database Server.
Но может чего посоветуете?
Ответили: (180)
# Ответить
153. KCC 23.07.2010 11:54
Уважаемый автор,

в ответе 116 Вы описали порядок восстановления БД после краха. Нулевой пункт такой: "0) До запуска сервера ADSа!!! Обязательно сделать резервную копию базы данных, файлов транзакций *.TPS, журналов сообщений ADS_ERR.*". И потом "пляшем" от этих резервных копий.
Поскольку вопрос возможности корректного восстановления БД является оочень важным, хочется спросить: как выполнить этот пункт, если сервер ADS запускается автоматически? Это же нормально сделать ему автозапуск. Вот, например, питание отключили, UPS сдох, сервер выключился, а затем после подачи питания вновь включился. И сервер ADS тоже автоматически загрузился. Меня рядом может и не быть. И что тогда, можно БД и не восстановить? Нет ли ещё способов гарантированного восстановления без использования резервных копий (которые до запуска ADS-сервера)?

(То, что нужно сделать связь UPS-а с сервером - это понятно, но если этого нет и сервер упал).
Спасибо за Вашу разработку и ответы.
Ответили: (155)
# Ответить
154. KCC 23.07.2010 12:24
Уважаемый автор,

в ответе 116 Вы описали порядок восстановления БД после краха. Нулевой пункт такой: "0) До запуска сервера ADSа!!! Обязательно сделать резервную копию базы данных, файлов транзакций *.TPS, журналов сообщений ADS_ERR.*". И потом "пляшем" от этих резервных копий.
Поскольку вопрос возможности корректного восстановления БД является оочень важным, хочется спросить: как выполнить этот пункт, если сервер ADS запускается автоматически? Это же нормально сделать железному серверу и серверу ADS автозапуск. Вот, например, питание отключили, UPS сдох, сервер выключился, а затем после подачи питания вновь включился. И сервер ADS тоже автоматически загрузился. Меня рядом может и не быть. И что тогда, можно БД и не восстановить? Нет ли ещё способов гарантированного восстановления без использования резервных копий (которые до запуска ADS-сервера)?

(То, что нужно сделать связь UPS-а с сервером - это понятно, но если этого нет и сервер упал).
Спасибо за Вашу разработку и ответы.
Ответили: (155)
# Ответить
155. hogik 23.07.2010 17:10
(153) (154)
1) "...сервер ADS запускается автоматически?"
- Поставить запуск сервиса "Advantage Database Server" в "Manual" и для запуска сервера ADS использовать утилиту "Advantage Configuration Utility".
2) "Нет ли ещё способов гарантированного восстановления без использования резервных копий (которые до запуска ADS-сервера)?"
- А для этого и делается копия. Если сервер ADS не сможет восстановить БД, то остаётся шанс это сделать с помощью автора данной разработки. ;-) Но, по нашему опыту, он нормально восстанавливается...
3) "То, что нужно сделать связь UPS-а с сервером - это понятно..."
- Еще надо сделать оповещение пользователей от UPS.
4) "...но если этого нет и сервер упал"
- ЭТО должно быть!
# Ответить
156. mike.obninsk 21.08.2010 11:04
Здравствуйте! Почитал о разработке и заинтересовался!
Можно коротко в двух словах объяснить почему все-таки не рекомендуется использовать эту разработку на сервере терминалов?
В настоящий момент я эксплуатирую систему 1С 7.7, релиз 27 Торговля и склад + MS SQL 2000 SP4. Размер несжатого бекапа базы SQL - 1400 Мб. Конфигурация довольно сильно переписана, но наш программист не владеет методами работы с MS SQL, поэтому в папке с базой активно плодятся мелкие *.dbf. То есть база получается не вполне SQL. Несмотря на то, что база не очень большая, в свое время от формата DBF отказались по причине многочисленных необъяснимых глюков. С переходом на SQL ситуация устаканилась.
В системе работают 20 пользователей, которые набивают заявки и скорость работы в подборе товаров довольно критична. Приемлемой производительности удалось добиться только в случае установки MS SQL и терминального сервера на одной машине Windows 2000 Server с четырехядерным Core i5. При разделении сервера терминалов и MS SQL по разным машинам и соединнения их сетью 1Гбит производительность была заметно ниже. Библиотеки 1С пропатчены для устранения эффекта 100% загрузки проца при ожидании 1С данных. Во время сильной нагрузки в диспетчере задач видно, что 25% отъедает процесс System, 25% отъедает процесс sqlservr.exe и остальное делят процессы 1С. Нагрузка на диски в perfmon минимальна. Кроме того, наблюдается эффект замедления базы к концу дня - помогает перезапуск SQL. Нагрузка на сервер довольно высокая - к концу дня после 10 часов работы типичное время работы процесса sqlservr.exe составляет 4,5 часа, процесса system - 5 часов.

Главный вопрос - если я заменю MS SQL на ADS получу ли я прирост производительности? Предполагается ADS разместится также на терминальном сервере.
Ответили: (157) (158)
# Ответить
157. hogik 22.08.2010 02:25
(156)
1) "наш программист не владеет методами работы с MS SQL, поэтому..."
- Дело не в программисте. ;-)
2) "в папке с базой активно плодятся мелкие *.dbf."
- Думаю, это рабочие файлы.
3) "база получается не вполне SQL."
- Для 1С 7.7 - так не бывает. См. предыдущий пункт.
4) "если я заменю MS SQL на ADS получу ли я прирост производительности?"
- Зависит от задач. Надо проводить сравнительное тестирование. Но если Ваша система стабильно работает на MS SQL - думаю, переходить на ADS не имеет смысла.
5) "почему все-таки не рекомендуется использовать эту разработку на сервере терминалов?"
- Не так. На данную разработку не рекомендуется переходить с (уже эксплуатируемого) терминал-серверного режима DBF-ной версии. Т.к. DBF-ный локальный режим (терминал-сервер) работает значительно быстрее любой клиент-серверной СУБД. Естественно, при условии, что мощности железа хватает для одновременного обслуживания клиентских задач на одной машине. Но если система эксплуатируется в режиме файл-сервер (DBF-ная версия), то имеет смысл пробовать для перехода: терминал-сервер, MS SQL, ADS и т.д.
6) "Предполагается ADS разместится также на терминальном сервере"
- На наших задачах оптимальная схема - выделенный сервер под ADS и обычные рабочие станции. Т.е. никаких терминал-серверов... ;-) У нас планировалась задача удаленного доступа по медленным каналам связи с использованием терминал-серверного режима - одна машина на пять сессий (не более). Т.е. несколько терминал-серверных машин с доступом к одному, выделенному, серверу с ADS-ом. Но запускать клиентское приложение и клиент-серверную СУБД на одной машине и не помышляли. На мой взгляд, это очень странное решение и для MS SQL, и для ADS... Производительность железа это же не только количество ядер процессора. Да и надежность системы снижается. А при использовании железа на "четырехядерным Core i5"(с) - тем более. Извините, но на таком железе можно только в игры играть, а не запускать "20 пользователей"... :-(
# Ответить
158. hogik 22.08.2010 02:55
(156)
"При разделении сервера терминалов и MS SQL по разным машинам и соединнения их сетью 1Гбит производительность была заметно ниже."
- Это, еще раз, подтверждает не эффективное использование клиент-серверных и "запросных" технологий в 1С 7.7. Частично это исправляется использованием "прямых запросов". Одна из целей моей разработки - иметь клиент-сервер, но не писать "прямых запросов"... ;-)
# Ответить
159. mike.obninsk 22.08.2010 11:57
Ага... стало немного понятнее :)
Другими словами, теоретически, я могу расчитывать на прирост производительности при разделении файл-сервера и сервера терминалов и перехода на ADS?

"Одна из целей моей разработки - иметь клиент-сервер, но не писать "прямых запросов"... ;-)"

Если я подниму отдельный файл сервер, то будет ли система с ADS по производительности сравнима с системой на базе MS SQL 2000?

"У нас планировалась задача удаленного доступа по медленным каналам связи с использованием терминал-серверного режима - одна машина на пять сессий (не более). Т.е. несколько терминал-серверных машин с доступом к одному, выделенному, серверу с ADS-ом"

-Очень интересно :) Ввиду экономии средств мы предпочитаем использовать несколько мощных персональных компов, чем один (или не один) мощный сервер. Проблемы надежности решаем многократным бекапом между "серверами". Наиболее требовательные к скорости клиенты (их 20) заходят на сервер терминалов на котором также исполняется MS SQL, однако есть и менее нагруженный сервер терминалов на базе Core 2 Quad котором работают менее требовательные пользователи, скорость работы которых заметно ниже, чем у тех кто работает на одном сервере с MS SQL. Скорость канала 1 Гбит. Реально при передаче файлов между серверами удается достичь стабильной скорости 25 Мб/сек (по данным Total Comander). Вопрос - какую нагрузку на сеть создает ваше решение. Желательно описать её в пропускной способности на одного клиента. Как она соотносится с той нагрузкой которую создает обычная SQL версия? Меня бы вполне устроило решение с выделенным сервером ADS и несколькими серверами терминалов. Однако может ли оно быть производительнее, чем вариант с выделенным MS-SQL?
Ответили: (160) (161)
# Ответить
160. hogik 22.08.2010 17:38
(159)
1) "теоретически, я могу расчитывать на прирост производительности при разделении файл-сервера и сервера терминалов и перехода на ADS?"
- Не "файл-сервер", а "клиент-сервер". ;-) Теоретически - да. Практически - проверять надо.
2) "Если я подниму отдельный файл сервер, то будет ли система с ADS по производительности сравнима с системой на базе MS SQL 2000?"
- См. предыдущий пункт.
3) "Ввиду экономии средств мы предпочитаем использовать несколько мощных персональных компов, чем один (или не один) мощный сервер."
- ;-) Сервер отличается от персонального компьютера не только стоимостью и мощностью, но и достоверностью вычислений. У нас самый дорогой "сервер" стоит 2000-2500 американских рублей. При использовании ADS-а на выделенной машине не возникает высоких требований к мощности "сервера". Но схемы контроля достоверности должны быть - ECC и RAID 1. При этом можно не возлагать на RAID функций "ехать дальше" при отказе диска. Важно получить на живом диске корректное завершение транзакции.
4) "Проблемы надежности решаем многократным бекапом между "серверами""
- Если содержание базы данных искажено - не помогут никакие многократные копии. Мы её и не делаем лет восемь уже. ;-) Самодельный инструмент "репликации"...
5) "Вопрос - какую нагрузку на сеть создает ваше решение"
- На это вопрос нет однозначного ответа. У нас полностью переписанная конфигурация, включая инструмент регистров. От сервера до рабочих станций сеть 100 Мб/сек. Сервера связаны сетью 1 Гб/сек. Одновременно пользователей в сети около 50. Серверов 4-5. В "центральной" базе работает 20-30 пользователей. Базы серверов синхронизируются нашим инструментом "репликацией" на уровне обновления объектов 1С-а. И как оценивать нагрузку на сеть...
6) "Желательно описать её в пропускной способности на одного клиента"
- Загрузка от 0 до 100 процентов. ;-) Зависит от действий пользователя.
7) "Как она соотносится с той нагрузкой которую создает обычная SQL версия?"
- Я не сравнивал нагрузку сети для SQL против ADS в среде 1С-а.
8) "Меня бы вполне устроило решение с выделенным сервером ADS и несколькими серверами терминалов."
- Не вижу причин против использования такого решение. Ключевой текст - "выделенным сервером ADS".
9) "Однако может ли оно быть производительнее, чем вариант с выделенным MS-SQL?"
- Может. Однако, меня интересует какая разница производительности может явиться главным аргументом к применению разработки кустаря (меня) по сравнению с фирмой Microsoft? Быстрее в 2 раза, в 10, в 100...? Ну, не только же производительность определяет причины использования той или иной системы... :-(
# Ответить
161. hogik 22.08.2010 22:48
(159)
Популярно, к пункту #3 сообщения #160:
http://www.3dnews.ru/news/sboi_ozu_koshmar_na_ulitse_dimm/
# Ответить
162. VLMedvedev 21.09.2010 07:42
(147)
1) "Очень долго"
По сравнению с чем? Дайте, пожалуйста, описание режимов запуска сравниваемых систем и конкретные времена выполнения.
Сравнивали под терминалом WIN2003 ADS vs DBF

DBF под терминалом
Документ.РасходнаяНакладная.Модуль Документа 471 ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент()); 1 1.033811 35.28
Документ.РасходнаяНакладная.Модуль Документа 480 Если глПогашениеПартииТоваров(Контекст,ТаблицаДокумента,"Упр",,СписокИтого,СписокСтоимостей)=1 Тогда 1 0.934216 31.88
Глобальный модуль 9668 ВремРегистры.РассчитатьРегистрыНа(ДД); 1 0.859058 29.32
Документ.РасходнаяНакладная.Модуль Документа 247 Если глДвиженияРегистровНакладных(Контекст,ТаблицаДокумента)=1 Тогда 1 0.398913 13.61
Глобальный модуль 12640 ВремРегистры.РассчитатьРегистрыНа(Конт.ТекущийДокумент()); 1 0.380357 12.98
Документ.РасходнаяНакладная.Модуль Документа 180 Если Число(глЗапретитьОтгрузкуКлиенту(Контекст)) < 1 Тогда 1 0.166761 5.69


ADS под терминалом
Документ.РасходнаяНакладная.Модуль Документа 247 Если глДвиженияРегистровНакладных(Контекст,ТаблицаДокумента)=1 Тогда 1 19.786208 41.61
Глобальный модуль 12640 ВремРегистры.РассчитатьРегистрыНа(Конт.ТекущийДокумент()); 1 19.582809 41.18
Документ.РасходнаяНакладная.Модуль Документа 471 ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент()); 1 13.943721 29.32
Документ.РасходнаяНакладная.Модуль Документа 480 Если глПогашениеПартииТоваров(Контекст,ТаблицаДокумента,"Упр",,СписокИтого,СписокСтоимостей)=1 Тогда 1 12.647915 26.60
Глобальный модуль 9668 ВремРегистры.РассчитатьРегистрыНа(ДД); 1 12.405526 26.09
Документ.РасходнаяНакладная.Модуль Документа 180 Если Число(глЗапретитьОтгрузкуКлиенту(Контекст)) < 1 Тогда 1 0.246019 0.52

DBF - 0.380357 s ADS - 19.582809 в 50 раз !!!

Простые хитрости:
Для операций чтения данных из БД использовать "операцию" #61 из РУСа.
Процедура ПриНачалеРаботыСистемы() Экспорт
ЗагрузитьВнешнююКомпоненту("AddInExt.dll");
Ext=СоздатьОбъект("AddIn.AddInExt");
ИмяРег="Регистр ОстаткиТоваров";
Ext._(61,ИмяРег,10);

Уменьшило время до 15 сек

Для операций обновления БД разнести файл транзакций и базу на разные диски.
Эффект не заметен

Увеличить/уменьшить размер страницы индексных файлов.
При 512 - 16 сек при 4096 - 17 сек

Включение время и выключение перед расчетом
УстановитьЗначениеФильтра("Товар",СписокТоваров,2);
меняло время на 10-20% т.е. - 23 сек без фильтра

Мне кажется фильтр не работает :cry:

Замедления в отчетах на глаз не отмечено

А система очень понравилась и под Wine@etrsoft все замечательно работает на одном Linux терминале под RX@etersoft ADS 7.1

Как бы укротить РасчитатьРегистрыНа() ?
Ответили: (163)
# Ответить
163. hogik 21.09.2010 17:26
(162)
Владимир.
1) "Сравнивали под терминалом..." "DBF - ... s ADS - ... в 50 раз !!! "
- Сказано уже многократно, что "родные" DBF-ы в локальном режиме работают значительно быстрее, чем любая клиент-серверная СУБД.
2) "Для операций чтения данных из БД использовать "операцию" #61 из РУСа."
- Использование этой возможности, чаще, уменьшает нагрузку на сеть. Но не во всех алгоритмах выборки данных. В некоторых алгоритмах - снижает скорость. В Вашем случае сети нет.
3) "...разнести файл транзакций и базу на разные диски. Эффект не заметен"
- Скорость повышается для системы в целом, когда в ней работает несколько пользователей. Для одного пользователя эффект сильно ощущается при выполнении "отменить транзакцию", т.е. когда, например, документ не может провестись из-за нехватки товаров на складах.
4) "Увеличить/уменьшить размер страницы индексных файлов."
- Мы, пока, используем размер - 512 байт. Однако, при тестировании производительности, в сетевом режиме при нескольких пользователях, мы заметили ускорение чтения, особенно в версии 9.1 ADS-а.
5) "УстановитьЗначениеФильтра();" "Мне кажется фильтр не работает"
- В "родном" движке никаких фильтров не используется. Т.е. все условия проверяются на стороне "клиента". И, естественно, при использовании моей разработки аналогично. Для установки реального фильтра существует "операция" #60 из РУСа.
6) "Как бы укротить РасчитатьРегистрыНа() ?"
- В последних версиях данной разработки сделаны изменения в части повышения скорости выполнения этого метода. Но не думаю, что это ускорить работу системы "в 50 раз". ;-)
0) Посмотрите, пожалуйста, статейку http://infostart.ru/public/57165/ не в контексте "1SQLite", а вообще посмотрите на числа и режимы замеров...
# Ответить
164. artem3107 22.10.2010 22:28
Здрствуйте!
У нас на фирме стоит достаточно мощный сервер и win2003 server, пользователи все работают в терминальном режиме, в 1с 7.7 Комплексная. формат базы данных dbf. Все прекрасно работало, 1с шустрила хоть и размер базы был около 10Гб. но при этом не один dbf файл не превышал 1 Гб (самый большой 800 Мб). У нас имеется еще 5 объектов не связанной с текущей базой, т.е. информации по продажам на этих объектах небыло. Месяца 3 назад начал делать обработку для обмена информации с этими объектами и постепенно грузить информацию в основную базу. где-то месяц назад было загружено уже 3 объекта, размер базы вырос до 13 Гб. 2 dbf файла имели размер чуть более 1,5 Гб, 1с продолжала стабильно работать еще недели 2, в этот период грузил 4 объект, не успев до конца его загрузить, реско начала постоянно вылетать ошибка #310. Начал рыскать в интернете, наткнулся на вашу разработку, за которую вам отдельное спасибо. благодаря ей уже на следующий день фирма смогла продолжить работу. Сначала думал поставил ads, и все проблемы решены, не тут то
было, полезли жуткие тормоза, сделал настройки, правда не все, только основные (сам advantage и добавил DBEng32.ini), большие тормоза пропали, но все равно остались. Проводится помедленее чем dbf, зато распроводит часами и отчеты формирует тоже очень долго. Остальные настройки не стал делать, по скольку прочитав комментарии, сделал вывод, что это особо скорости не прибавит в работе. Заметил, что если вечером сделать удаление cdx файлов и сделать переиндексацию, на следующий день 1с работает пошустрее, практически до вечера, а если не сделать, на следующий день будет долго думать. В итоге РЕШЕНО сделать свертку базы и вернуться в режим работы под dbf. Начав свертку на копии столкнулся с рядом проблем. Свертка висела более 2 суток (нужно было перезагрузить сервак, пришлось сбросить), но информация так и не свернулась. так же во время свертки вышло несколько ошибок ругающиеся на "регистр УчетОплатРасходовУСН - обнаружено пустое значение". незнаю может быть из-за этого свертка зависла. Потом нашел информацию что желательно сделать перед сверткой тестирование базы, параметры поставил как написано в описание по DBEng32.doc. На первом же действии "Реиндексация" выскочила ошибка "***Error*** #999 (Error 7010: Problem with Advantage server file read)" причем с заголовком окна "DBEng32 for Advantage 8.1 Database server", хотя я ставил 9.1 версию и Advantage и bin_ads. С данной ошибкой так и не разобрался. После этого решил перевести 1с на sql, что бы в ней попробовать сделать свертку. Поставил Microsoft SQL Server 2000 Enterprise Edition, попробовал перевести маленькую базу (300 Мб) под dbf на sql. немного потыкавшись с sql удачно перевел на sql. стал проделывать те же действия с текущей базой под ads в процесе загрузки выдает ошибку, которую можно посмотреть в прикрепленном файле.
В общем прошу помощи-совет, как мне поступить, что бы исправить описанные ошибки и сделать свертку базы. Так же приму другие советы. Заранее благодарен за помощь.
Ответили: (165)

Прикрепленные файлы:

Безымянный.JPG
# Ответить
165. hogik 22.10.2010 23:53
(164)
Артем.
1) "полезли жуткие тормоза"
Про скорость работы в сетевом, клиент-серверном, локальном (терминал сервер) режимах написано выше в данной теме.
2) "Свертка висела более 2 суток"
Если в Вашей конфигурации под управлением ADS медленно работает де-проведение документов, то сделать свертку, думаю, не удастся за разумное время.
3) "во время свертки вышло несколько ошибок"
Изначально "битая" база.
4) "нашел информацию что желательно сделать перед сверткой тестирование базы"
В описании данной разработки термин "свертка" не используется.
5) "параметры поставил как написано в описание по DBEng32.ddoc"
Исходя из пункта #4, возникает вопрос - какие настройки?
6) "выскочила ошибка "***Error*** #999 (Error 7010"
Такая ошибка выдаётся в случае обращении к таблицам НЕ формата ADS. Наиболее частая ошибка пользователя - обращение к ИБД родного формата DBF из DBEng32 настроенной на работу с в формате ADS. Или обращение к ИБД в формате ADS родным движком, а потом движком ADS-а. В таком случае еще выдаётся сообщение о файле "1SUSERS". В таком случае достаточно удалить 1SUSERS.DBF.
7) "причем с заголовком окна"
Это не существенно.
8) "в процесе загрузки выдает ошибку"
См. пункт #3.
9) "прошу помощи-совет, как мне поступить"
У Вас два варианта действий:
а) Взять копию ИБД до всех экспериментов в формате ADS. Сделать тестирование и исправление ИБД без пересчета служебных данных и итогов. Разобраться с ошибками. Починить базу. Выгрузить ИБД, возможно с применением http://infostart.ru/public/15364/. Загрузить в DBF формат. Сделать свёртку.
б) Связаться со мной по реальному электронному адресу и обсудить способ передачи мне базы данных для решения проблемы.
# Ответить
166. artem3107 23.10.2010 03:58
спасибо за быстрый отклик!
я сейчас решил пойти пока по первому варианту. эксперементов с рабочей базой не ставил, только с копиями :)
Сделал в общем копию текущей базы. удалил из неё файл 1SUSERS.DBF, поставил на тестирование, оставив только 2 галочки: Реиндексация и проверка логической целостности. На реиндексации вылетела теперь следующая ошибка: #999 (error 7041: File not Found/ Verify the specified path and file name is correct )
Ответили: (167) (168)
# Ответить
167. hogik 23.10.2010 04:15
(166)
Естественно. ;-)
Файл 1SUSERS.DBF же удалён.
Он создаётся при входе в сессию, а не в конфигуратор.
# Ответить
168. hogik 23.10.2010 04:23
(166)
А по поводу реиндексации см. DBEng32.doc.
Она выполняется только если *.CDX удалены руками.
# Ответить
169. artem3107 23.10.2010 16:37
У меня завершилось тестирование ИБД без ошибок. :)
Только тестирование прошло с параметрами реиндексация и проверка логической целостности, с остальными параметрами точно не нужно делать тестирование?
Как теперь можно починить базу, или починка это и было тестирование ИБД?
Кстати. когда я перевел базу на ads, с копией базы в формате dbf делал выгрузку, загрузку в тот же формат, и после свертку. На свертке выскакивала ошибка #310. не вылетит ли она сейчас?
Ответили: (170)
# Ответить
170. hogik 23.10.2010 18:21
(169)
Артем.
1) "с остальными параметрами точно не нужно делать тестирование?"
Нужно. Но если сделать выгрузку/загрузку, то пересчет и так выполнится. Но под управлением ADS-а пересчет, думаю, на Вашей базе будет очень долго выполняться.
2) "Как теперь можно починить базу, или починка это и было тестирование ИБД?"
Чинить надо если при тестировании возникали ошибки.
3) "Кстати. ... На свертке выскакивала ошибка #310. не вылетит ли она сейчас?"
Хорошее - "кстати". ;-) Конечно выскочит. Сделайте выгрузку и загрузку в SQL-ную базу. Но, обязательно, учтите, что размер файла выгрузки может быть больше 2 гигабайта. Проверьте это. И используйте разработку от Романа (romix).
P.S. Печально, что многие люди жалуются на ошибку #310 в родном движке и медленное де-проведение документов в моей разработке. И ни один человек не захотел, вместе со мной разобраться с этими проблемами. И, возможно, исправить эти проблемы. Нет у меня базы данных, на которой можно промоделировать эти проблемы. А в реальной, нашей, базе ни ошибки #310 (пока работали на родных DBF-ах), ни де-проведения часами - не происходит.
# Ответить
171. artem3107 23.10.2010 21:16
Ясненько, спасибо! Я теперь поставил на тестирование оригинальную базу, потом попробую ее на sql перевести. Кстати после тестирования вышли сообщения о документах и справочниках, которые создались новые, но абсолютно пустые. Это нормально?
Сделал замер, после тестирования базы, депровидения: маленький документ депроводится 30-40 сек., вместо 5-10 сек. на dbf, большой 30 минут депроводился вместо 2-3 минут в dbf. на проведение его же ушло 3 минуты. практически столько же как в dbf.

По поводу вместе разобраться с проблемами в 1с, я только за, готов принять участие и посодействовать в этом вопросе. Действительно такая проблема существует практически в каждой организации, которую я встречал.
Я вообще сторонник того, что пришло уже время чему то новому в системе учета, чем 1с и другим системам (слишком много в них недостатков не смотря на всё). По сему, после перелопачивания гор в 1с, мы с коллегой разработали концепцию новой программы по ведению учета, которая основным своим преимуществом будет изначально строиться на платформе хранения данных в sql; вторым преимуществом, то что будет очень проста в плане конфигурирования (например, создать с нуля подобие 1с-ой ТиС можно за 2-3 недели одному человеку); третьем преимуществом, это удобный современный интерфес, заточеный под каждого пользователя; ну и много других преимуществ. Огорчает лишь одно, что процесс разработки движется очень медленно, можно сказать, последние 4-5 месяцев совсем не двигается. :(
Ответили: (172)
# Ответить
172. hogik 23.10.2010 22:10
(171)
Артем.
1) "Кстати после тестирования вышли сообщения о документах и справочниках, которые создались новые, но абсолютно пустые. Это нормально?"
Второй раз, хорошее - "кстати". ;-) См. сообщение #170 пункт #2. Вам выдалась информация для починки базы данных.
2) "По поводу вместе разобраться с проблемами в 1с, я только за, готов принять участие и посодействовать в этом вопросе."
Ваше участие:
а) Тестовая платформа (база данных) с описанием действий пользователя приводящее (провоцирующее) ошибку #310.
б) Тестовая платформа (база данных) с информацией о моих действиях для получения на моей машине информации: "....документ депроводится 30-40 сек., вместо 5-10 сек. ...".
3) "...разработали концепцию новой программы по ведению учета, которая основным своим преимуществом будет изначально строиться на платформе хранения данных в sql;"
Именно эту цель и приследовали разработчики 1С. Очередной тупик. :-( Да еще, думаю, без мощной поддержки прикладных решений, как это делает 1С и не делают другие разработчики, которых уже нет...
# Ответить
173. artem3107 24.10.2010 00:47
По первому пункту не совсем понял как с помощью выданной информации починить базу? (она содержиться в прикрепленном файле).
По второму, напишите мне свой e-mail, я отправлю две БД с описанием. :)
По третьему пункту, не согласен на счет мощной поддержки от 1с, по скольку не встречал таковой :). К примеру, звонил года 2 назад во франчу, где покупали коробку с ТиС 7.7, нам дали 6 месяцев бесплатной консультации. Мне нужно было сделать учет в магазине ксерокопий и распечаток, чтоб на это пробивался чек через фискалку. Месяц звонил, они все обещали разобраться и сказать как можно это решить, потом сказали давайте мы вам специалиста пришлем, он в вашей базе поковыряется за 800 руб. в час, мож как нибудь решит этот вопрос. Я ответил спасибо не нужно (до этого тоже вызывали (по другим вопросам и с других контор), результат нулевой, только каждый день им отстегивали). В итоге, сел разобрался сам, допилил малость и все заработало. А про типичные ошибки, не доработки и прочее вообще молчу. Конечно, плати деньги, сделают без вопросов, только через сколько, как качественно, сколько при этом придется выложить и не придется ли за ними потом переделывать. Причем часто сталкивался, что многие конторы не в курсе, что им продают франчи, т.е. не то что нужно, а назад коробки уже не принимают, менеджерам главное развести народ как на коробки так и на выезд спеца. :) Да и почти каждый 1с продукт после покупки нужно допиливать.
По поводу нашей разработки, так уже многое продуманно про поддержку, вопрос только в том, чтоб написать прогу :)
"другие разработчики, которых уже нет..." - каких нет разработчиков, можете привести пример?
Ответили: (174)

Прикрепленные файлы:

ошибки при тесте.txt
# Ответить
174. hogik 24.10.2010 01:38
(173)
Артем.
1) "как с помощью выданной информации починить базу?"
а) Для объектов созданных по сообщению "Неразрешенная ссылка" написать обработку поиска объектов для которых конфигуратор создал "пустые" справочники/документы. Внимательно посмотреть на найденные объекты и принять решение - чего с ними делать.
б) Для документа "ЗаявкаПокупателя(DT2457. Запись 1482484)" надо посмотреть схему базы данных. По самому сообщению, сходу, ничего не могу сказать.
в) Про "Проверка уникальности" поступить как написано в сообщении. Именно из-за этой ошибки у Вас не получилась заливка в SQL-ную базу. Число 4HGH ничего не напоминает? Посмотрите картинку из Вашего сообщения #164.
2) "напишите мне свой e-mail, я отправлю две БД с описанием"
Мой e-mail есть в предпоследней строчке DBEng32.doc. ;-) Но, думаю, Вы не сможете запихнуть базу данных размером в 13 гигабайт в "мой" ящик. Лимит - 10 мегабайт.
3) Про поддержку и пр. - это долгий разговор. И, думаю, не совсем по теме данной разработки. Единственно, что сажу. Поддержка, о которой Вы пишете - это не та поддержка о которой я написал в сообщении #172. Я написал: "поддержки прикладных решений". Т.е. обучение, описания, консультации, новые версии и т.д. Т.е. всё то из-за чего "нет других разработчиков". Их на рынке учетных систем - нет. И, самое главное, эти решения реально существуют и востребованы массой пользователей. А по поводу "звонил года 2 назад во франчу" - скажу больше. Я, лет восемь назад, пытался общаться с самой 1С-ой от имени "франчи" - всё было хуже чем в Вашем случае... ;-)
# Ответить
175. artem3107 24.10.2010 03:01
1) а) Неразрешенная ссылка" ни каких обработок писать не нужно, все документы висят в журнале на день тестирования, и абсолютно все реквизиты у них пустые. справочники тоже пустые, только наименование ФС-1, ФС-2, и т.д. Так что я думаю их только удалить, больше с ними ни чего не сделаешь.
б) и в) Давайте после того как я вам базу скину посмотрите и скажите. Вн. идентификатор 4HGH, я не знаю как до него долезть, а уж как исправить тем более.

2) по поводу e-mail'a пардон не заметил. А по поводу "запихнуть в ваш ящик базу" пожалуй смогу и не одну. На что все таки по вашему существуют архиваторы и файлообменники. ;) Надеюсь у вас безлимитный интернет 500 Мб принять сможете :)

3)Согласен, что не по данной теме разговор. но все же добавлю, что я понял про какие поддержки идет речь. Если это обучение, то здесь все просто: появится новая платформа, появятся и люди которые будут готовы сами ее изучить, что бы потом предоставлять за деньги обучение, писать книжки. Если это описание, то оно будет прилагаться вместе с программой в виде журнальчика, а не килограммовых томов макулатуры, которые ни кто даже в руки ни когда не берет. Если это консультации, это то же очень просто можно решить. А новые версии в данном случае естественно тоже будут, но не такие как у 1с (в каждой новой версии в основном исправление собственных ошибок и при этом умудряются их продавать, в целом за год, дороже самой конфигурации). Обновления должны быть оперативными, на изменение в различных областях законодательства. Например, помню незначительное, изменение 26 мая 2009 г. формы счет-фактуры, объявленное еще в апреле, привело к тому, что организации отказывались принимать старые формы, новые рисовали в ручную пару месецев, а у 1с в свежих обновлениях не было новых СФ, мне ее самому пришлось дописывать, как и многим организациям.
Ответили: (176)
# Ответить
176. hogik 24.10.2010 03:32
(175)
Артем.
1) По поводу пустых справочников/документов не верно рассуждаете. Дело не в этих "пустых" объектах, а в тех объектах для которых они созданы. Т.е., например, в базе существует нормальный документ. Он ссылается на контрагента. А этот контрагент в справочнике отсутствует. Тогда конфигуратор внесет в справочник "пустой" элемент и поставит на него ссылку из документа.
2) Из файлообменника приму любой объем. Высылать достаточно только DBF-ную базу без CDX-ов.
3) Давайте не будем обсуждать 1С и их продукты. Меня это совершенно не интересует. Я не использую их продукты. И не отношусь к поклонникам этих продуктов. Про тупик я написал в другом смысле. Ваше утверждение: "основным своим преимуществом будет изначально строиться на платформе хранения данных в sql" для меня - очень странное. Не буду повторять своё мнение по этому поводу. Если будет время и желание почитайте моё мнение в этом: http://infostart.ru/public/75878/ Да и в моём профайле есть немного шуток по этому поводу. ;-)
P.S. Шлите базу, лучше...
# Ответить
177. hogik 27.10.2010 00:43
В сообщении #164 данной темы, Артем (artem3107) написал:
"... поставил ads ... полезли жуткие тормоза ... Проводится помедленее чем dbf, зато распроводит часами и отчеты формирует тоже очень долго."
У Артема использовалась DBF-ная версия в локальном режиме (терминал-сервер).
Я многократно говорил (писал), что любая клиент-серверная СУБД уступает по скорости работы локальному использованию DBF-ной системы. Моя разработка не предназначена для замены локальной (терминал-серверной) эксплуатации "1С 7.7".
Мне удалось провести замеры времен выполнения "задачи" Артема в различных режимах.

Комплексная конфигурация.
Документ "Отчет комиссионера".
Дата документа отстоит от текущей даты на 14 месяцев.
В документе 3735 строк товаров.
Документ "порождает" 9502 проводки.
Документ "содержит" 12061 движений.
=== Сетевое проведение:
DBF - 25 мин. Загрузка сети - 99 %.
ADS - 18 мин. Загрузка сети - 40%.
=== Сетевое депроведение:
DBF - 27 мин. Загрузка сети - 99 %.
ADS - 63 мин. Загрузка сети - 2 %.
=== Локальное проведение:
DBF - 6 мин. 35 сек.
ADS - 11 мин. 55 сек.
=== Локальное депроведение:
DBF - 5 мин. 12 сек.
ADS - 45 мин. 50 сек.

Сравнение скоростей чтения в сетевом режиме: http://infostart.ru/public/57165/
Ответили: (182) (184) (203)
# Ответить
178. Свой 03.11.2010 14:42
прошу прощения, если мой вопрос уже где-то был освещен, но на сколько пользователей и какой срок можно использовать Advantage 8.1/9.1 для работы базы 1С 7.7 бесплатно ?
цены на их сайте немаленькие вроде...
Ответили: (179)
# Ответить
179. hogik 03.11.2010 18:02
(178)
Точно не помню. Вроде, около месяца на 3-5 пользователей. Т.е. проверить производительность системы - реально. А проверять надо, сначала на одном пользователе. Выяснить "узкие места" (задачи), где может произойти значительное снижение скорости. Типа, как в замерах из #177 сообщения данной темы.
Цены, были, когда я смотрел, ниже чем при использовании SQL-ной версии 1С-а.
+ 1 [ Свой; ]
# Ответить
180. hogik 14.12.2010 03:14
(152)(alexis69)
Теперь и мы столкнулись с этой проблемой. ;-)
Причина - на сервере более одной сетевой карты.
Надо сделать.
На сервере.
Add the following string value using the Registry Editor (REGEDIT.EXE) into the registry:
\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Advan­tage\Configuration\LAN_IP_ADDRESS=xxx.xxx.xxx.xxx
На клиенте.
Создать в BIN каталоге (рядом с DBEng32.dll) файл ADS.INI с параметрами:
[SETTINGS]
ADS_SERVER_TYPE=2
[ИмяCервераADS]
LAN_IP=xxx.xxx.xxx.xxx
LAN_PORT=6262

Значение xxx.xxx.xxx.xxx - это IP адрес сетевой карты сервера ADS.

Подробнее см. документацию по ADS разделы:
1) LAN IP Address
2) ADS.INI File Support
# Ответить
181. lordveder 10.01.2011 14:25
День добрый!
Один из файлов базы (1sbkttl.dbf) зашкалил за 2ГБ. Воспользовался этой разработкой! Всё как бы ок!Но... ОЧЕНЬ долго формируется "Карточка субконто". Не подскажите можно ли как то ускорить или нет?
Ответили: (182)
# Ответить
182. hogik 11.01.2011 00:13
(181)
На вопрос, как ускорить выполнение отчета, смогу ответить только после анализа Вашей системы т.к. я провел замеры времени выполнения этого отчета на базе данных из (177) сообщения. И в локальном режиме ADS выполняется медленнее на 20-25 % чем в родных DBF-ах. В каком режиме на Вашей базе "ОЧЕНЬ долго формируется" отчет? Какие параметры запуска отчета? Какие времена выполнения в DBF и ADS?
# Ответить
183. lordveder 11.01.2011 12:36
К сожалению протестить в режиме DBF не представляется возможным - так как база при любой операции вываливается с ошибкой! На данный момент ADS крутится как и раньше ДБФ под терминальным сервером! ADS выбран как временная мера, база перегнана в SQL где будет произведена свертка и обратно выгружена в ДБФ!
И ещё! Не подскажите как выкрутиться в такой ситуации - есть база которая крутиться под ADS и обычная ДБФ! Как можно настроить чтобы можно было стартовать одновременно обе из под одной 1С?
Ответили: (184)
# Ответить
184. hogik 11.01.2011 15:48
(183)
1) Какое (конкретно) время выполнения этого отчета в ADS? Какое, примерно, было время выполнения в родных DBF-ах? Какое время выполнения в SQL-ной версии?
2) "Не подскажите как..."(с)
Файл "DBEng32.doc" из корневого каталога архива "BIN_ADS_60xx.ZIP".
Раздел "Настройка".
Пункт "Строка № 8".
Образец файла "DBEng32.ini" лежит в каталоге "DBF" архива "BIN_ADS_60xx.ZIP".
Но, лучше организовать два каталога EXE-шников 1С-а.
3) Про скорость ADS в локальном (терминальном) режиме см. сообщение (177) данной темы.
# Ответить
185. lordveder 11.01.2011 16:41
1. В родных ДБФ - порядка 1 минуты, в ADS - порядка 3,5 мин (но есть одна особенность - оборотно-сальдовая по счету строиться гораздо быстрее в ADS (примерно в 2 раза чем в ДБФ)).в SQL шас сказать не могу точно идёт свёртка , но пред эти - медленее чем в ADS быстрее чем в ДБФ. А по поводу двух каталогов EXE-шников 1С-а - создать ещё один каталог 1Сv77 (например 1Сv77D)? Благодарю за уделенное время!
Ответили: (186)
# Ответить
186. hogik 11.01.2011 21:11
(185)
1) Вопрос "ОЧЕНЬ долго формируется"(с) - снимаем. Т.к. это - нормально и не долго... ;-)
2) Создать еще один каталог, это не означает - "организовать"(с). Вам надо обеспечить пользователям способ (правила) не давать вызывать EXE-шник не соответствующий формату базы данных. Т.к. если перепутать формат БД в режиме "1С:Предприятие", то при входе в систему первого пользователя, испортится файл 1SUSERS.DBF и вся работа застопорится. Чинится это легко - достаточно удалить этот файл. Но если запустить систему в режиме "1С:Конфигуратор", то испортится еще и файл 1SSYSTEM.DBF. Чинить это - сложнее...
Однако, использование файла DBEng32.ini тоже не может обеспечить защиты от перепутывания форматов БД относительно EXE-ника.... :-( Т.е. эксплуатация баз данных разных форматов требует хорошей организации системных (административных) вопросов в фирме.
# Ответить
187. AndStar 27.09.2011 10:16
База около 4 ГБ, сбоила по чтению. Помогло.
# Ответить
188. Sergey_Murzinov 28.09.2011 02:56
Самописная конфа, перешед на ADS сбои по чтоению как рукой сняло. Всем рекомендую
# Ответить
189. dreamadv 13.10.2011 08:47
Огромное спасибо за разработку. А то совершенно не ожиданно уперлись в придел в 16млн. записей в DBF версии бухгалтерской конфигурации (((
# Ответить
190. sonirk 04.01.2012 18:42
DBEng32 из архива BIN_ADS_6040.ZIP для ADS9.1. ADS 9.1. Общий размер базы около 5 Гб, файл данных вплотную приближается к 1Гб. Терминал W2003R2. Около 30 пользователей. Проблем как таковых не было, однако для того, чтобы избежать потенциальных вопросов с увеличением размера базы в будущем, решено использовать этот продукт.

Через ADS все работало без проблем около месяца, однако при выполнении операции по смене расчетного периода в 1С возникает следующая ситуация - начинаеся смена периода, через час-полтора процесс ads.exe постепенно разрастается в памяти до 1,6-1,8 Гб (видно в таскменеджере), и в этот момент вылезает ошибка нехватки памяти - *** Error *** #999 (Error 7001: No memory available.). Инфо в файле ads_err.dbf однозначно подтверждает, что ads сервер вышел за установленные пределы использования оперативной памяти.

Физической памяти на сервере 6 гб. Попытка менять что-либо в конфигурации ADS сервера через графическую утилиту ничего не дала, все равно процесс разрастается и через пару часов имеем эту ошибку. Как увеличить лимит памяти для ADS сервера путем настроек не нашел, хотя искал как мог. Без использования ADS этот процесс ранее занимал около 3-х часов (Xeon 3065 - 2,33 GHz, 6Gb RAM). Скажите пожалуйста, что может быть не так?
Ответили: (191)
# Ответить
191. hogik 04.01.2012 19:42
(190)
.....(sonirk).
1) Нехватка памяти для сервера - это следствие. Причину надо смотреть "выше" по журналу (файл ads_err.dbf). Упакуйте и прикрепите его к сообщению - посмотрю.
2) Чаще всего причина в нехватке места для файла транзакций. Это может возникать по двум (уже известным) причинам:
а) Действительно, его большой размер. ;-) При пересчете итогов. Надо воспользоваться рекомендациями из History.doc к версии 6.0.3.8. Или перейти на версию 6.0.4.2.
б) Маленький размер страницы индексного файла. Установите 1024 и сделайте реиндексацию путем удаления *.CDX.
3) В любом случае заваливание сервера активизирует (при повторном его запуске и/или входа в сессию 1С-а) алгоритм отката транзакций и реанимацию таблиц. Это часто выполняется долго. В Вашем случае это происходит успешно? И это надо сделать перед выполнением любых моих рекомендаций из текста выше. Или восстановить базу из копии.

P.S. Жду от Вас информацию.
# Ответить
192. sonirk 04.01.2012 22:44
У меня версия 6.0.4.0

Пока прикрепляю файл ошибок.

Теперь самое непонятное: 1С после краша сервера и перезапуска его открывается вроде бы нормально, ни на что не ругается. Поэтому я пробовал менять настройки адвантажа и опять запускал пересчет.

Сейчас вот самое интересное - последний раз получилось, что сервер упал, но 1С поеле перегрузки показывает, что смена периода прошла нормально, и вроде бы на вид все тоже как обычно. Но сервер - то упал. Терзают меня сомнения теперь, все ли в порядке с базой.

P.s. Сейчас вот воспользовался Вашими советами выше (изменил размер страниц индексного файла, переиндексировал базу + что написано в release notes). И запустил смену периода на другой базе, 1,7 гигабайта. В любом случае, судя по счетчику транзакций, сейчас работает на порядок быстрее, посмотрю, какой будет результат. Потом попробую потестировать на архивах большой базы.
Ответили: (193)

Прикрепленные файлы:

ads_err.dbf
# Ответить
193. hogik 04.01.2012 23:09
(192)
.....(sonirk).
В журнале нет "первичной" информации. В настройках стоит маленький размер и он затирает предыдущие сообщения. Увеличьте размер.
С базой на 99.9% не всё хорошо. Думаю, он не сумел восстановиться после сбоя. Поэтому и показывает, что период открыт. Т.е. в базе находится "часть транзакции" (грубо говоря).
Вы проверяете на копии или на живой базе? Предлагайте способ передачи мне базы. Если можно откатиться на копию, то копию. Если - нет, то ту что ИСПОРЧЕНА.
Еще странно, почем Вы мне прислали журнал ошибок формата DBF. Должен быть файл с расширением ADT. Посмотрите, пожалуйста, сообщение (116) данной темы. Если мне предавать текущую (испорченную) базу, то надо подготовить всё, что написано в первой части сообщения (про копию).
P.S. Жду от Вас информацию.
# Ответить
194. sonirk 04.01.2012 23:39
Пока прикрепляю .adt файл ошибок. Сообщение (116) данной темы просмотрел. Сейчас следую этим инструкциям на рабочей базе. У меня, конечно, есть гарантировано рабочая копия, но к сожалению, только за прошлый день, т.е. один день работы будет потерян (копирование ночью, а пересчет главбух запустила в конце дня, к утру я узнал, что сервер упал). С передачей базы надо обсуждать с руководством. Здесь все очень секретно, пользователи работают в терминале, групповой политикой почти все ограничено и т.п. + диск зашифрован сервер спрятан, юсб блокированы и т.п. Я старался сделать на совесть :) Скорее всего, не разрешат никому ничего передать.

p.s. Переприкрепил. К сожалению, в 1С я не очень богатым опытом обладаю, поэтому извините за столь очевидные, возможно на Ваш взгляд, вопросы.

p.p.s. База прогоняется сейчас утилитой adtfix. База здоровая, процесс идет медленно. Если можно, вышлете мне на nos@iptel.by Ваш адрес в скайпе.
Ответили: (195) (196) (198)

Прикрепленные файлы:

acd_err_all.rar
# Ответить
195. hogik 04.01.2012 23:56
(194)
Можно и без передачи БД разобраться. Но надо иметь активную голосовую связь. Перепиской пальцами это сложно выяснить. Я могу общаться голосом по Skype.
Журнал состоит из трех файлов ads_err с расширениями ADT,ADI,ADM.
Повторите, пожалуйста, отправку...
# Ответить
196. hogik 05.01.2012 00:19
(194)
Журнал с 04.01.2012 19:35:04.
Запись об ошибке затерта... :-(
# Ответить
197. sonirk 05.01.2012 00:28
adtfix выдал, что ошибки есть только в 1SACCSEL.DBF. Остальное все в порядке. Насколько я понял, этот файл при смене периода все равно перезапишется? Зашел в 1С монопольно, пошла переиндексация. Когда она закончится, нужно ли еще раз попытаться сделать смену периода, даже если уже период указан правильно - 1 квартал 2012?
Ответили: (198) (199) (200) (201) (203)
# Ответить
198. hogik 05.01.2012 00:42
(194)
Вот, придумал. ;-)
Пошлите мне файл 1CV7.DD и распечатку "dir *.dbf" каталога базы данных, на реальный мой почтовый адрес (он есть в конце файла DBEng32.doc). Возможно обойдемся пересчетом итогов в версии 6042 с предварительным пересозданием CDX-ов. Думаю, можно будет и не изменять размер страницы. Т.к. сбой, скорее всего, произошел из-за ошибки (проблемы) описанной в версии 6038.
(197)См. выше ответ на (194).
# Ответить
199. hogik 05.01.2012 00:48
(197)
0) Удаляем DBEeng32.ini.
1) Удаляем индексы.
2) Ставим версию 6042.
3) Входим монопольно.
4) Создаются индексы.
5) Пересчитываем все итоги БУ.
# Ответить
200. hogik 05.01.2012 00:51
(197)
Делаем это (199 сообщение) на копии.
Увеличиваем размер журнала ошибок до числа 100000 (100 мегабайт).
# Ответить
201. hogik 05.01.2012 01:00
(197)
Я посмотрел содержание транзакции, где обрабатывается 1SACCSEL.DBF - думаю, всё будет хорошо, если пересчитать итоги. :-) Возможно (лучше), придется удалить заранее:
1SACCSEL.CDX 1SACCSEL.DBF 1SSBSEL.CDX 1SSBSEL.DBF
# Ответить
202. sonirk 05.01.2012 01:09
Все как было сказано сделал, и версию 6.0.4.2 уже поставил, вот только файл DBEng32.ini я не удалял из каталога БД и сделал уже переиндексацию - там же увеличен размер страницы в индексных файлах с 512 до 1024? Или нужно обязательно его удалять, а потом повторить переиндексацию?

И еще, " придется удалить заранее: 1SACCSEL.CDX 1SACCSEL.DBF 1SSBSEL.CDX 1SSBSEL.DBF " - разве это автоматически в 4.2. версии не удаляется?
Ответили: (204)
# Ответить
203. hogik 05.01.2012 01:14
(197)
Посмотрел присланные файлы.
Подтверждаю свою уверенность в содержании сообщений 198-201.
Проблему полностью понял. Всё логично и объяснимо... :-)
Причина сбоя описана в History.doc по версии 6038.
Но!
Рекомендую посмотреть сообщение (177) данной темы.
Т.к. замена терминал-серверного режима на ADS может огорчить пользователей по скорости в некоторых задачах.
# Ответить
204. hogik 05.01.2012 01:22
(202)
Размер страницы считывается из INI файла только в момент создания индексов. Можно оставить и 1024. Но возможно некоторое замедление на некоторых задачах. А на некоторых - ускорение ;-) Мы работаем с размером в 512. Точнее, если не задано явное значение, то в DBEng32 оно вычисляется из разумных соображений. Но, по жизни всегда меньше, чем 1024 байт.
Файлы 1SACCSEL.CDX 1SACCSEL.DBF 1SSBSEL.CDX 1SSBSEL.DBF в версии 6042 не удаляются. Удаляются все записи в них (команда ZAP по FoxPro аналогии). В этой версии значительно быстрее чем в предыдущих. Но если он сбойный, то могут возникнуть проблемы. Т.е. удалить надо в текущем случае. А потом они будут нормально чиститься и без ручного удаления.
# Ответить
205. sonirk 05.01.2012 01:25
В общем, делаю все, как описано в сообщениях 198-201. В принципе, как и писал раньше, вопросов никаких с dbf версией баз не было, вот только наши 1С-ники, которые конфигураций и доработками бухгалтерии занимаются, настаивали, что может быть проблема с файлами больше гигабайта. Рекомендовали присмотреться в Вашей разработке или перейти на 8. С 8 руководство переходит и так по плану, но постепенно, а проблему 1 гигабайта и потенциального искажения данных быдо сказано предотвратить немедленно. Хотя, в общем, на скорость особо не жаловались, хотя я полностью понимал и предупреждал вопрос о скорости заранее.

Остались пока лично у меня вопросы:
1) Что было не так, почему выскочила ошибка 7001 - я предварительно не удалил файлы, как было в последнем комментарии к версии 6.0.3.8?
2) Нужно ли эти файлы удалять вручную теперь при каждой смене периода, ведь версия 4.2. решает этот вопрос автоматически?

Пока писал, на вопрос 2) Вы ответили однозначно, остался вопрос 1) :)

p.s. Сейчас пошла смена периода, причем довольно быстро - за 10 минут 7 млн. операций. Это чуть ли не в 10 раз быстрее, чем было до всех изменений.
Ответили: (206)
# Ответить
206. hogik 05.01.2012 01:41
(205)
Причиной ошибки 7001 была огромная транзакция. А возникала она потому, что разработчики 1С-а для родной DBF-ной версии выдают команду ZAP внутри транзакции для огромной таблицы. Что допустимо в родном движке на старом CodeBase (команда исключается из транзакции). По сути их алгоритм - полный бред в этой части. Но ZAP не может выполниться в ADS и CodeBase 6.5 (новый). Поэтому мне пришлось чистить эти два файла путем удаления каждой записи. Т.е. варианта было два: закрывать и открывать транзакцию или удалять каждую запись. А т.к. у нас нет этих файлов, то проблемы и не возникало... Ну, вот я собрался. Разобрал их транзакцию детально. И пришел к выводу, что ей можно закрыть сделать ZAP и запустить заново. И еще пришел к выводу, что данную (мою) разработку никто не использует. Ну, или использует там где нет бухгалтерских итогов. :-)
Ответили: (207)
# Ответить
207. hogik 05.01.2012 01:45
(206)
Про 1GB.
Лучше поставьте Kernel3x, если в Вашей системе не используются прямые запросы на FoxPro. А потом на "восьмерку"... :-) Думаю, с ADS-ом это пустая трата времени и увеличение рисков поиметь проблемы.
P.S. Хотя, на родном движке, Вашу систему поджидает еще вот эТТо: http://infostart.ru/public/77617/
# Ответить
208. sonirk 05.01.2012 02:09
Спасибо огромное, все ясно и доходчиво разъяснили. Пересчет в DBF версии занял около 3х часов. Посмотрю и отпишу, сколько займет в ADS. В любом случае, лучше медленно, но верно. И побыстрее переходить на 8 :)

p.s. В ads версии пересчет занял около 4,5 часов, что теперь более, чем приемлемо. Ошибок нет, работает все хорошо.
# Ответить
209. AdepTcs 03.05.2012 02:36
Добрый день. Ваша разработка реально спасла нас. Как то упустили факт разрастания базы и RG328.DBF перерос 2ГБ. По быстродействию немного медленнее терминал-серверной, но быстрее SQL - скорость работы достаточно критична.

Использовали ADS 10.10 (с версией разработки для 9.10)
Перейти сразу не удалось, решили сначала попробовать стандартную выгрузку-загрузку, но загрузка вываливалась с ошибкой файла транзакций, т.к. он разрастался ровно до 4 ГБ и, видимо, запись в него дальше невозможна. Есть ли способ на время первоначальной загрузки отключить журнал транзакций?? или иным способом избежать этой ошибки? В будущем всё же придётся создавать новые периферии :)

В итоге сконвертировали базу при помощи ConvDBF (сначала не смогли так сделать из-за нескольких сетевых на сервере).

Так же попробовали вашу разработку на CB (в режиме ПДБД), но количество памяти на 10 пользователей сильно смутило (а надо 20 хотя бы), зато очень порадовала скорость работы и выгрузка - загрузка прошла без ошибок.

Спасибо :)
Ответили: (210)
# Ответить
210. hogik 03.05.2012 03:55
(209)
1) "он разрастался ровно до 4 ГБ и, видимо, запись в него дальше невозможна"(с)
На размер файла транзакций нет реального ограничения если используется NTFS. Если только такое ограничение не появилось в версии 10.1. ;-) Я не проверял в этой версии. Но, судя по числу "4 ГБ" у Вас используется FAT32, и в этой файловой системе еще существует ограничение на размер таблиц базы данных (на размер файлов вообще). Лимиты описаны в документации по ADS-у.
2) "Есть ли способ на время первоначальной загрузки отключить журнал транзакций??"(с)
Для отключения транзакций должна быть 100% уверенность в том, что приложение не будет использовать функцию "Откатить транзакцию" (AdsRollbackTransaction). У меня нет такой уверенности в части "стандартной выгрузки-загрузки". Но ускорить конвертирование, при использовании ConvDBF.exe, можно. Для этого надо запускать это приложение в режиме "Local Server". И я могу гарантировать, что ConvDBF.exe не использует "Откатить транзакцию". Теоретически (только теоретически!!!) в этом же режиме "можно" было бы запускать "стандартную выгрузку-загрузку", т.к. "Local Server" не использует и не поддерживает транзакций. И игнорирует все функции работы с транзакцией в приложении.
3) "Так же попробовали вашу разработку на CB (в режиме ПДБД),"(с)
На страничке этой разработки есть объявление от 30.03.2010. Рекомендую его прочесть и если возникнут вопросы - задать их. Допускаю, что я плохо изложил в этом объявлении информацию о проблемах с режимом ПДБД.
4) "количество памяти на 10 пользователей сильно смутило"(с)
В "CodeBase 6.5" есть "ошибка" (несуразность) по выделению оперативной памяти под приложение на машине с большой оперативной памятью. Об этом написано в DBEng32.doc в разделе про ПДБД. И еще про режим ПДБД написано в http://forum.infostart.ru/forum24/topic20588/message423963/#message423963
5) "разрастался ровно до 4 ГБ "(с)
Надеюсь Вы используете http://infostart.ru/public/15364/
Ответили: (211)
# Ответить
211. AdepTcs 03.05.2012 05:45
(210) hogik,

1. NTFS, про ограничения читал, не встретил ни слова про файл TPS, потому и спросил у Вас :)
2. Ясно, спасибо :)
3,4. Я внимательно прочитал все объявления и полностью все комментарии, прекрасно представляю себе все риски при использовании CB в режиме ПДБД, потому и запустил в итоге на ADS (правда по началу, кажется, ADS и загружала базу в режиме "Local Server", т.к. проблема с несколькими сетевыми не была решена... и тот же ConvDBF не мог найти сервер).
5. А проблема то в этом и была, спасибо еще раз:))
+ 1 [ hogik; ]
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016