• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Торможение базы

  • Автор темы Aero
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Aero

Привет.
Имеется база (1.5 Гб, ДБФ, в день забивают около 1200 документов), находится на сервере (Ксеон 2-х процессорный по 4 ядра, 6 Гб ОЗУ,

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

начинают входить еще пользователи, то база начинает ТОРМОЗИТЬ, и некоторые пользователи начинают ВЫЛИТАТЬ с документов (при

открытии, проведении и т.д.). В журнале регистраций пишется, пример:

УстановитьНовыйНомер("А-"); : {Документ.СчетФактураВыданный.Форма.Модуль(449)}: Таблица: 1SJOURN Ошибка обращения к данным при

транзакции, выполняемой другим пользователем

притом все работаю со своими документами.
НО НО НО, если в данной ИБ работают скажем 5 пользователей, и пару человек заходят в другие ИБ (не большие), начинаются такие же

глюки.

Пробовал переводить на SQL, знаю, что она не кретична к пользователям, НО раз в неделю делается восстановление последовательности,

на SQL она делается в 2 раза дольше, и за выходные обработка может не успеть выполниться.

Вопрос: что делать???
может попробовать не проводить восстановление последовательности, а сделать перепроводку документов, при это сделать оптимизацию

при проведении (основные тормоза при проведении документа - расчет временных итогов) - использовать ТЗ или ДБФ файл для хранения

итогово (увеличение производительности при массовом проведении в РАЗЫ)???
 
K

kaa

Может стоит всетаки обрезать базу до приемлемых размеров, семерка начинает гнать после 1Гб, кстати возможны глюки с итогами
 
V

vitfil

"В головах разруха..." (с) Булгаков.
А для чего, позвольте вас спросить, у вас проводится расчет временных итогов? Работайте постоянно с актуальными итогами и все. Про специфику даже и слышать не желаю!
 
A

Aero

1) База обрезалась в конце сентября, итого 5 мес. назад, так что обрезка не катит
2) Расчет временных итогов - типовой механизм, используемый при проведении документов:

ВремРегистры = СоздатьОбъект("Регистры");
...
Если ИтогиАктуальны() = 0 Тогда
ВремРегистры.Актуальность(1);
ВремРегистры.РассчитатьРегистрыНа(ТекущийДокумент());
КонецЕсли;

Стоит

3) Есть предложение: все-таки переводить на SQL и оптимизировать восстановление последовательности
Какие предложения есть по оптимизации восстановления последовательности и оптимизации вообщем
 
J

jj_mail

При похожих условиях перешли на SQL и избавились от проблем, связанных с dbf-ной базой, начиная с постоянных вылетов пользователей из базы и заканчивая бесконечными реиндексациями базы, восстановлениями последовательностей документов и т.д.
 
V

vitfil

"2) Расчет временных итогов - типовой механизм, используемый при проведении документов:"
Я понимаю, что это типовой механизм. Вы уверены, что он вам нужен? действо сие есть наиглупейшая глупость.
 
S

Superchumba

to vitifill
Можно поподробнее, в чем тут есть наиглупейшая глупость.Я так понимаю вы за то чтобы просто вырезать его из кода конфигурации?
 
V

vitfil

Постоянные расчеты не нужны. Все должно проводиться, работая с актуальными итогами.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!