Сравнение производительности 1с под DBF-ADS-CodeBase-SQL.

11.02.08

Задачи пользователя - Корректировка данных

Представлено сравнение выполнения таких задач в 1с, как заполнение, проведение и отмена проведения документа в режиме сервера терминалов через Virtual PC на одном ПК.
При проведении тестов использовались разработки многоуважаемого hogik:
//infostart.ru/profile/2905/
1) DBEng32 (6.0.1.4, Advantage 8.1) - //infostart.ru/projects/1359/
2) DBEng32 (5.1.2.8, CodeBase 6.5) - //infostart.ru/projects/811/

При заполнении документа происходит выборка данных, при проведении - выборка и вставка данных, при отмене проведения - удаление данных из справочника. Таблица справочника занимает 0.5 Гб, индексный файл 0.1 Гб.

Приводится среднее время выполнения в секундах (минуты:секунды).
1. Заполнение документа в трех сеансах параллельно, в каждом сеансе выборка из различных частей файла.
DBF - 0:24. ADS - 0:43. CB - 2:03. SQL - 1:44.
ADS/DBF: 1.8, CB/DBF: 5.1, SQL/DBF: 4.3
Пиковое потребление памяти на клиента 1с в DBF - 60-80 Мб, в SQL - 106 Мб.
Пиковое потребление памяти на сервер: ADS - 30 Мб. CB - 2 Мб. SQL - 180 Мб.

2. Проведение документа в одном сеансе.
DBF - 3:24. ADS - 3:51. CB - 6:29. SQL - 5:54.
ADS/DBF: 1.1, CB/DBF: 1.9, SQL/DBF: 1.7
Пиковое потребление памяти на сервер: ADS - 114 Мб. CB - 10 Мб. SQL - 926 Мб.

3. Отмена проведения документа в одном сеансе.
DBF - 1:11. ADS - 1:02. CB - 2:07. SQL - 2:13.
ADS/DBF: 0.9, CB/DBF: 1.8, SQL/DBF: 1.9

4. Заполнение документа в 10 сеансах параллельно, выборка из одинаковых частей файла (параметры заполнения совпадают).
DBF - 0:32. ADS - 2:16. CB - 7:06. SQL - 2:37.
ADS/DBF: 4.3, CB/DBF: 13.3, SQL/DBF: 4.9

5. Заполнение документа в одном сеансе.
DBF - 0:12. ADS - 0:25. CB - 1:06. SQL - 0:26.
ADS/DBF: 2.1, CB/DBF: 5.5, SQL/DBF: 2.2

6. Конвертация базы с помощью ConvDBF, размер базы 1.2 Гб.
ADS - 7:00. CB - 2:00. Переиндексация + 3:40.

Примечания
Версия SQL - 2000 MSDE без SP. ADS - 8.1. CB - 6.5.
В CB была отключена оптимизация чтения и записи, лог-файл размещался на RAM-диске.

Для CB - замечено, что при нехватке места под лог-файл (при проведении) 1с-ка вылетает, документ остается непроведенным, но изменения внесенные в транзакции остаются. Не экономьте на объеме RAM-диска! 32 Мб в данном случае оказалось недостаточно.
При принудительном завершении сеанса пользователя, проводящего документ, транзакция откатилась нормально.

Для ADS замечено - при принудительном завершении сеанса пользователя, проводящего документ, работа для других пользователей будет приостановлена на некоторое время, это связано с очисткой блокировок. В данном случае очистка заняла 10-15 секунд.

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

См. также

Чистка данных Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.

1 стартмани

13.05.2021    8156    12    etmarket    0    

3

Корректировка данных Акт сверки Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Россия Бухгалтерский учет Управленческий учет НДС Абонемент ($m)

Пример реализации сверок между базами и исправления расхождений в обе стороны, из 7.7 -> в 8.3 и из 8.3 -> в 7.7 на обычных формах. Фундаментальные обработки, которые работают на постоянной основе и поддерживают идентичность данных между базами основных поставщиков и основных покупателей (их соответствие прописано в модуле). Используется Новый COMОбъект("V77.Application"), пример использования внешнего источника данных. Реализация в поступление. Поступление в поступление. Корректировка поступления в корректировку отгрузки. СчФ выданный в СчФ полученный. Исправление СчФ полученного в исправление СчФ выданного. Перенос документа Реализация 7.7 в Поступление 8, Перемещение 7.7 в Поступление 8. Акт сверки взаиморасчетов (несколько организаций). Все обработки запускаются в базе 1С Предприятие 8 (обычные формы).

1 стартмани

03.10.2019    14981    31    ksnik    6    

4

Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Универсальная обработка 7.7, представленная здесь, до сих пор почему-то по функционалу гораздо беднее, чем общеизвестная типовая "Универсальный подбор и обработка объектов" (UNIREPS82\UniversalSelection) 8.2-8.3", мне не хватило возможности выполнить произвольный код обработчика объектов. Данная обработка "UChoice.ert" является полным аналогом "UniversalSelection", представляет собой консоль выполнения произвольного кода, позволяет делать с объектами информационной базы 1С 7.7 абсолютно все, что угодно, а не узкий, сложно настраиваемый набор команд, на мой взгляд, она существенно превосходит имеющиеся аналоги, поэтому ничем другим кроме нее я не пользуюсь.

1 стартмани

04.04.2019    16758    30    ksnik    9    

4

Корректировка данных Бухгалтер Бухгалтерский учет 7.7 1С:Упрощенное налогообложение 7.7 Россия Бухгалтерский учет НДС Абонемент ($m)

Для 1С:Предприятия 8 переход на НДС 20% сделан, а для 7.7 я не нашел. Выкладываю.

1 стартмани

24.12.2018    18776    34    pentanom    25    

5

Корректировка данных Программист Бухгалтер Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

31.08.2017    13504    1    C0mmander_Alex    1    

3

Корректировка данных Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

1. Обработка позволяет совершать следующие действия над объектами: а. СПРАВОЧНИКИ: удаление; пометка на удаление; снятие пометки на удаление. б. ДОКУМЕНТЫ: удаление; пометка на удаление; снятие пометки на удаление; проведение; отмена проведения; выключить проводки; включить проводки. 2. Действия могут быть ограничены некоторыми условиями. 3. Существует отбор по видам объектов. 4. Есть возможность обработать подчиненные справочники.

1 стартмани

30.04.2017    22613    82    DUH    0    

5

Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже). В обработке документов реализованы следующие действия: Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части. В обработке справочников реализованы следующие действия: Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.

1 стартмани

23.11.2016    38879    224    SanchoD    15    

13

Корректировка данных Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

База данных помечается Suspect, когда SQL Server не может читать файлы данных, связанные с базой данных с жесткого диска. В этом случае сделать бекап базы нельзя, но можно попробовать образ диска. После того как возможность читать файлы данных восстановлена, вы можете перезапустить службу SQL Server, и если возможно, произойдет автоматическое восстановление. Что делать, если информационная база 1С7.7 на SQL Server 2000 перешла в состояние suspect? Если это произошло утром и бекап сделан, Вы, конечно, можете грохнуть и раскатать базу заново (вечером это проблематичнее), но не торопитесь - возможно, поможет detach+attach или другие методы, изложенные в данной публикации.

1 стартмани

08.11.2016    23284    ksnik    5    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. hogik 443 12.02.08 01:30 Сейчас в теме
Спасибо автору от автора.
Несколько замечаний.
1) Размер RAM диска действительно надо выделять с запасом. Но при нехватке места под лог-файл и заваливании сессии 1С никаких изменений выполняемых в транзакции в базу не должно попадать. Да и сервер тоже должен завалиться. Скорее всего, описанная Вами ситуация, возникает из-за последовательности команд “Записать”, “Провести” для нового документа. Т.е. на выполнение команд “Записать” места в лог-файле хватило, а на команду “Провести” уже не хватило. Если мне не изменяет память – это две транзакции. Для более точного заключения с моей стороны надо смотреть текст теста.
2) Я понял так, что клиенты запускались в Virtual PC, а сервера CB и ADS на реальной машине. Если это так то, к сожалению, результаты очень сильно отличаются от работы по реальной сети. Особенно, если в Virtual PC запущено несколько сессий 1С (тест #4).
3) “Для ADS замечено - при принудительном завершении сеанса пользователя, проводящего документ, работа для других пользователей будет приостановлена на некоторое время…”. Но связано это с другим. Клиенты ожидают освобождение блокировки файла 1SxTTS.lck по требованию серверной системы ввиду исчезновения задачи на рабочей станции.
Присоединяюсь к Вашему пожеланию: “увидеть результаты тестирования в сетевом режиме, и для большого числа компьютеров”. Мы не сравнивали производительность CB и ADS с SQLной версией 1С и режимом терминал сервер для DBFной версии.
2. CheBurator 2712 12.02.08 02:49 Сейчас в теме
ничего не понял... DBF - рулез форева?
3. hogik 443 12.02.08 03:12 Сейчас в теме
Да. В терминал серверном режиме DBFная версия в некоторых тестах быстрее, чем ADS. И это естественно для такой платформы тестирования. Т.е. сравнивается локальный режим с сетевым. В случае ADS данные проталкиваются через виртуальный сетевой адаптер (он работает очень странно). А в терминальном режиме (для DBFной версии) этого не требуется. Но и даже при таком дополнительном расходе ресурсов для ADS в некоторых тестах он работает быстрее. Что касается CodeBase, то я, даже, в документации написал, что проводить сравнение его производительности в Virtual PC не стоит. Результат очень сильно отличается от реальной сети.
4. hogik 443 12.02.08 03:23 Сейчас в теме
И еще. Никто не обещал, что CB и/или ADS будет работать быстрее, чем DBF в локальном режиме. Говорилось, что быстрее, чем SQLная версия и на уровне сетевого доступа к DBFам. Однако ADS работает быстрее DBFов в одинаковых условиях сравнения (локальный с локальным, сетевой с сетевым). А при увеличении количества пользователей – быстрее, чем терминал серверное решение. У нас это происходит для 3-5 пользователей.
5. AAE 18.02.08 10:48 Сейчас в теме
Спасибо за сравнительный анализ.
Хотелось бы увидеть еще и сравнение с SELTA@Etersoft http://etersoft.ru
Оставьте свое сообщение