powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
19 сообщений из 44, страница 2 из 2
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830945
svcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovaПрограммист 1сОбрезать. Там где нужны отчеты - обращаться к копии.

А случайно файлы не прикрепляете к базе?

А что за база то? Что в ней?

Достаточно ввести сегментирование и резать ничего не надо..
Вот бы еще 8,1 научить не каждый месяц хранить промежуточные итоги была бы вообще песня..
Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830955
svcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigusiscrafmречь идет об 1С. Какие еще тяжелые запросы и их оптимизация?
Ну если Вы пишите 1совские запросы которые им(1с-ом) преобразуются в правильные (оптимальные) sql запросы, то конечно все хорошо. Но в большинстве случаев рядовой программист 1с вообще не знает механизма преобразования. Как следствие простенький запрос в 1с может преобразоваться в нечто монстроидальное в sql-е с неочень оптимальным планом выполнения и еще в довесок если тип неопределен присабачит кучу ненужных таблиц в запросе как следствие понижение производительности. + смотря план запроса можно понять каких индексов не хватает и т.д.
Если писать запрос в 1С в терминах SQL, не используя дополнительные возможности, запрос преобразуется в SQL 1 к 1. А раз вы решили использовать дополнительные возможности (автоматическое подключение таблиц и виртуальные таблицы) будьте добры изучить их работу перед использованием. То есть 1С не виновата в том, что у вас "получаются монстроидальные запросы"
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830989
rigus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svcoderТо есть 1С не виновата в том, что у вас "получаются монстроидальные запросы" я с Вами полностью согласен что виноват в затупах в 99 процентах случаях проектировщик бд и кодер кто запрос написал. Но по мне гораздо легче научиться писать правильные запросы используя visual studio где видно на чем и почему тормозит запрос, а не в 1с, где ты получаешь результат. (Ну и книги по sql как само разумееющееся без них вообще никуда).
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36831024
svcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigus,

Открываете консоль запросов, открываете профайлер в котором включаете запись плана выполнения запроса и вуаля.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36831438
iomoe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
strizhУ нас размер файла .mdf базы SQL2005 перевалил за 110 гиг.

Проблемы следующие.
1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно.
2. Обмены с базами филиалов - размеры файлов XML получаются от 50 до 500 Мб (обмен с каждым филиалом - каждые 2 часа). Обмен читается в центральной базе от 1 до 10 минут, за это время юзеры, которые проводят документы, успевают получить кучу ошибок блокировки.
3. При необходимости выгрузки в .dt и загрузки из .dt операция длится более 12 часов.
4. Операция проверки целостности базы длится более 4 суток.
5. В центральной базе активно работают 30 человек. Даже когда нет обменов, проведение одного документа может длиться 1-2 минуты

Кто что посоветует для улучшения ситуации ?

У нас база в 3 раза больше. Основная проблема - блокировки при обменах. Нам важно, чтобы обмены проходили нормально (пользователи могут немного подождать, а обмен, если ему не мешать, длится две-три минуты). Поэтому, документы (не все) подписаны на событие перед записью, где проверяется наличие обмена, если обмен есть, запись отменяется. Есть решения, позволяющие уйти от блокировок в принципе, - например, репликация информационных баз от фирмы SoftPoint или от Проф ИТ.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36831747
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigusiscrafmречь идет об 1С. Какие еще тяжелые запросы и их оптимизация?
Ну если Вы пишите 1совские запросы которые им(1с-ом) преобразуются в правильные (оптимальные) sql запросы, то конечно все хорошо. Но в большинстве случаев рядовой программист 1с вообще не знает механизма преобразования. Как следствие простенький запрос в 1с может преобразоваться в нечто монстроидальное в sql-е с неочень оптимальным планом выполнения и еще в довесок если тип неопределен присабачит кучу ненужных таблиц в запросе как следствие понижение производительности. + смотря план запроса можно понять каких индексов не хватает и т.д.
понятн, спсб. Просто в процедуру преобразования нет возможности вмешатся, я поэтому спросил.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833013
ARIST_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторУ нас размер файла .mdf базы SQL2005 перевалил за 110 гиг.
Конфигурация - не типовая.
Сервер SQL - 8 ядер на 2.2 ГГц, 24 гига памяти, разные дисковые зеркала на систему, базы и лог.
Все нужные процедуры обслуживания SQL-базы делаются по расписанию.
Сервер приложений 1С - 8 ядер на 2.4 ГГц, 24 гига памяти, одно дисковое зеркало.

1. Памяти у вас очень мало. Для SQL с такой базой надо минимум 64 Гб для приемлемой производительности. Особенно если у вас еще планы обмена летают.
2. Для ускорения проведения надо процессор на стороне сервера приложений с максимальной производительностью ЯДРА, потому что проведение - линейный алгоритм и распараллелить его не получится.

авторПроблемы следующие.
1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно.
А сколько документов-то? Что-то очень долго идет.

Про все остальное скажу так.
1. Дисковая подсистема, скорей всего, не справляется. Очереди смотрели? Что за зеркала сейчас на данные и логи?
2. Еще раз - памяти для такой базы мало.
3. 12 часов для загрузки из .dt - либо производительность ядра на сервере 1С фиговая, либо дисковая подсистема на сервере СУБД хромает, либо и то и другое вместе взятое.

На текущем железе может помочь DB2 (хотя не факт). Если что - могу подсказать как настроить. Но лучше все-таки посмотреть на загрузку железа вначале.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833120
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ARIST_AавторУ нас размер файла .mdf базы SQL2005 перевалил за 110 гиг.
Конфигурация - не типовая.
Сервер SQL - 8 ядер на 2.2 ГГц, 24 гига памяти, разные дисковые зеркала на систему, базы и лог.
Все нужные процедуры обслуживания SQL-базы делаются по расписанию.
Сервер приложений 1С - 8 ядер на 2.4 ГГц, 24 гига памяти, одно дисковое зеркало.

1. Памяти у вас очень мало. Для SQL с такой базой надо минимум 64 Гб для приемлемой производительности. Особенно если у вас еще планы обмена летают.
2. Для ускорения проведения надо процессор на стороне сервера приложений с максимальной производительностью ЯДРА, потому что проведение - линейный алгоритм и распараллелить его не получится.

авторПроблемы следующие.
1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно.
А сколько документов-то? Что-то очень долго идет.

Про все остальное скажу так.
1. Дисковая подсистема, скорей всего, не справляется. Очереди смотрели? Что за зеркала сейчас на данные и логи?
2. Еще раз - памяти для такой базы мало.
3. 12 часов для загрузки из .dt - либо производительность ядра на сервере 1С фиговая, либо дисковая подсистема на сервере СУБД хромает, либо и то и другое вместе взятое.

На текущем железе может помочь DB2 (хотя не факт). Если что - могу подсказать как настроить. Но лучше все-таки посмотреть на загрузку железа вначале.

Db2 express С- про производительность не факт :-(
База вливается дольше... на порядок чем MS SQL.

При 64 гигах озу в ней будет вообще вся база, но блокировки на "необдуманных проетках убьют базу"

svcoderVolochkovaПрограммист 1сОбрезать. Там где нужны отчеты - обращаться к копии.

А случайно файлы не прикрепляете к базе?

А что за база то? Что в ней?

Достаточно ввести сегментирование и резать ничего не надо..
Вот бы еще 8,1 научить не каждый месяц хранить промежуточные итоги была бы вообще песня..
Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды

Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!!
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833230
ARIST_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторDb2 express С- про производительность не факт :-(
База вливается дольше... на порядок чем MS SQL.

Наверняка не читали документацию. Для вашей базы нужен пакетный режим загрузки. Заливаться будет не медленней, чем в MSSQL. https://www.ibm.com/developerworks/mydeveloperworks/wikis/home/wiki/Wc0d1a21236a5_4cb4_9d40_424193dcd115/page/%D0%9C%D0%B5%D0%B4%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%20%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20.dt%20%D1%84%D0%B0%D0%B9%D0%BB
Про Express-C никто и не говорит. Берите и ставьте Workgorup, как раз на ваш сервер.
Триальная версия ставится с любого фикспака на 90 дней. https://www.ibm.com/developerworks/mydeveloperworks/wikis/home/wiki/Wc0d1a21236a5_4cb4_9d40_424193dcd115/page/%D0%92%D0%B5%D1%80%D1%81%D0%B8%D0%B8%20DB2%20%D0%B4%D0%BB%D1%8F%201%D0%A1

авторПри 64 гигах озу в ней будет вообще вся база, но блокировки на "необдуманных проетках убьют базу"
Ну, во-первых, не вся. Во-вторых, не понял - каким образом бОльший размер оперативной памяти влияет на блокировки?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833254
ARIST_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эх... Привык, что ссылки автоматом вставляются. Исправляюсь.
Про медленную загрузку .dt

Про версии и фикспаки DB2 для 1С.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833283
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova

svcoder
Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды

Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!!



Проведение документов задним числом не равно запуску запросов за "прошлые периоды".

Недостатки проведения документов задним числом не однократно обсуждались на данном форуме, производительность в числе основных недостатков данного механизма.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833463
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvVolochkova

svcoder
Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды

Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!!



Проведение документов задним числом не равно запуску запросов за "прошлые периоды".

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

Угу.. годами перепроводится... конечно...
а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-)
и все в дауне :-)
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833536
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovavitkhvVolochkova

svcoder
Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды

Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!!



Проведение документов задним числом не равно запуску запросов за "прошлые периоды".

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

Угу.. годами перепроводится... конечно...
а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-)
и все в дауне :-)

да ладно уже... понятно что нет серебрянной пули и что критично на том и настаиваем
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833678
AHDP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova,

Ну так и разбирайтесь с этими отчётами/пользователями. Добавьте в свою базу хранилище сформированных отчётов за прошлые периоды и выдавайте их пользователям. Только формирование отчётов с обсуждаемыми проблеммам не связано.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36833698
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova
Угу.. годами перепроводится... конечно...
а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-)
и все в дауне :-)

Не понятна ваша логика, причем здесь отчеты которые делаются годами и проведение документов в прошедшем периоде?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36834159
Igor Glushaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
strizhУ нас размер файла .mdf базы SQL2005 перевалил за 110 гиг.
Конфигурация - не типовая.
Сервер SQL - 8 ядер на 2.2 ГГц, 24 гига памяти, разные дисковые зеркала на систему, базы и лог.
Все нужные процедуры обслуживания SQL-базы делаются по расписанию.
Сервер приложений 1С - 8 ядер на 2.4 ГГц, 24 гига памяти, одно дисковое зеркало.

Проблемы следующие.
1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно.
2. Обмены с базами филиалов - размеры файлов XML получаются от 50 до 500 Мб (обмен с каждым филиалом - каждые 2 часа). Обмен читается в центральной базе от 1 до 10 минут, за это время юзеры, которые проводят документы, успевают получить кучу ошибок блокировки.
3. При необходимости выгрузки в .dt и загрузки из .dt операция длится более 12 часов.
4. Операция проверки целостности базы длится более 4 суток.
5. В центральной базе активно работают 30 человек. Даже когда нет обменов, проведение одного документа может длиться 1-2 минуты

Кто что посоветует для улучшения ситуации ?

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

1. Разнести базы, сделать отдельную почку, в которой ведется текущая работа, а центр оставить для тяжелых операций. У меня именно так сейчас и сделано. Пользователи в рабочей преспокойно выполняют свою работу, а в центральной проводятся все тяжелые работы (типа массового перепроведения документов, закрытие месяца (расчет себестоимости по партиям) и т.п. Естественно включен полный обмен между этими двумя почками, интервал между обменами 20 минут. Возможно есть смысл (но тут надо смотреть Ваши процессы, насколько будет критична задержка в получении менеджерами офиса документов из филиала) и загрузку из филиалов сделать тоже в центр.
2. В настройках бменов есть такой реквизит как количество элементов в транзакции. Поставь 100 или меньше и будешь приятно удивлен, что больше обмены не мешают работать остальным. Правда время самого обмена процентов на 30 увеличится. Как работает сей механизм не знаю, но помогает реально.
3. При использовании п.1 становиться некритичным, в центре кроме тебя никого не бывает...
4. искать ситуации, при котороых возникает потребность в этой процедуре и искоренить их как класс...
5. По этому пункту могу посоветовать поработать с регламентами заданиями MS SQL... По крайне мне пересоздание индексов, обновление статистик сильно помогает...
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36834487
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AHDPVolochkova,

Ну так и разбирайтесь с этими отчётами/пользователями. Добавьте в свою базу хранилище сформированных отчётов за прошлые периоды и выдавайте их пользователям. Только формирование отчётов с обсуждаемыми проблеммам не связано.

Вы сейчас об чем?

vitkhvVolochkova
Угу.. годами перепроводится... конечно...
а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-)
и все в дауне :-)

Не понятна ваша логика, причем здесь отчеты которые делаются годами и проведение документов в прошедшем периоде?
А Ваше тем более.. Секционирование помогает не только для перепроведения задним числом.. ( а именно это увидели как корень зла в 1с и проблему ее производительности)

Я же утверждаю, что секции помогают куда больше чем просто в перепроведении.
Например в отчете за прошлый год - юзверь получит данные быстрее, чем если база будет лежать не разделенная на секции. И бонус от того что пользователи отчеты увидят быстрее больше, чем 10 бухов перепроводящих вчерашние фактуры. Логика проста.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36834712
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova,
Вы пытаетесь меня убедить, что секционирование увеличить производительность при работе с БД?
Если так, то право, не стоит я и без вас в этом убежден. Хотя пересмотр апаратной архитектуры хранения данных, имеется в виду организация RAID, может принести большую пользу.

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

Касаемо отчетов - каким они здесь боком? Автор вроде не жалуется на скорость их выполнения, у автора есть 2 конкретных проблемы:

1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно.
2. Обмены с базами филиалов - размеры файлов XML получаются от 50 до 500 Мб (обмен с каждым филиалом - каждые 2 часа). Обмен читается в центральной базе от 1 до 10 минут, за это время юзеры, которые проводят документы, успевают получить кучу ошибок блокировки.

Все же способы решения проблем производительности отчетов, производительности массового перепроведения документов и тем более производительности обменов будут между собой различаться как с точки зрения похода к решению этих проблем, так и сточки зрения приоритетов.
И боюсь, что проблему с массовым перепроведением документов просто секционированием не решить.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36834981
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitkhvVolochkova,
Вы пытаетесь меня убедить, что секционирование увеличить производительность при работе с БД?
Если так, то право, не стоит я и без вас в этом убежден. Хотя пересмотр апаратной архитектуры хранения данных, имеется в виду организация RAID, может принести большую пользу.

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

Касаемо отчетов - каким они здесь боком? Автор вроде не жалуется на скорость их выполнения, у автора есть 2 конкретных проблемы:

1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно.
2. Обмены с базами филиалов - размеры файлов XML получаются от 50 до 500 Мб (обмен с каждым филиалом - каждые 2 часа). Обмен читается в центральной базе от 1 до 10 минут, за это время юзеры, которые проводят документы, успевают получить кучу ошибок блокировки.

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

Вы потрудитесь сделать тоже самое.
Перепроведение задним числом - это как правило текущий год. Как этого не делать во вчерашних или в фактурах прошлого месяца я хз.
Так вот.
Секция - выделение текущего года всех регистров в отдельный файл дает ощутимый прирост именно в перепроведении. А выделение на отдельный райд табличек отвечающих за изменения объектов тоже хорошо прибавляет в скорости. А про тормоза - отчеты. Вот к чему. Если у ТС никто не будет запускать отчеты, то автообмен и перепроведение вздохнет спокойнее. По сколько 1с хранит промежуточные итоги, то волшебно было бы заставить ее хранить эти итого раз в год. Это была бы фантастика. А так партицию на регистры натравили / справочники на отдельный винтик вынесли и поскакали. MS SQL становится гораздо легче справляться с запросами 1с.

Самое обидное - если косяк в архитектуре. И для перепроведения или даже просто проведения нужно в регистры втыкать столько данных, что просто индексы MS SQL пухнут. Например на 100 метров данных - 200 метров индексов. Это уже вопрос к архитектуре. Это править только методами 1с.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / [игнор отключен] [закрыт для гостей] / У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]