powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
44 сообщений из 44, показаны все 2 страниц
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829493
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 минуты

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

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

А что за база то? Что в ней?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829583
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizh Кто что посоветует для улучшения ситуации ?
нанять специалиста
для поддержки 1С одного DBA мало
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829647
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shuhardstrizh Кто что посоветует для улучшения ситуации ?
нанять специалиста
для поддержки 1С одного DBA мало
+1. Ну и конечно "железо" очень слабенькое, попробуйте раза в 3, как минимум, нарастить. В сторону "облака" также посмотрите.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829727
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. забыл смайлик
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829790
MikeOne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizh, "Конфигурация - не типовая" - возможно, в этом и заключается ответ. Можно такого понаписать, что ляжет любое железо. Нужно детально смотреть, что и где напрягает систему. Опять же, неясно, какие попытки оптимизации уже были.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829863
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1с
Обрезать. Там где нужны отчеты - обращаться к копии.

Да. Мы думаем над обрезанием. Но вдруг есть другой путь ?

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

Прикрепляем немного (в одну таблицу). Их общий размер сейчас не более 4 Гб.
Используются они редко на просмотр (это архив скан-копий счетов поставщиков).

Программист 1с
А что за база то? Что в ней?

УПП, но сильно доработанная - добавлены спецармы для торгашей и новая подсистема учета
торгового оборудования, плюс обмены идут на механизме БП, и мало где используется
авторегистрация документа к обмену (это уже были попытки увеличить скорость обменов -
увеличили год назад втрое, но снова не хватает).
Опять таки - спецармы для торгашей используются на филиалах, а в центральный офис заезжают
готовые расходные и налоговые накладные, чеки, кассовые ордера.
Подсистемой учета оборудования пользуются в центральном офисе 4 человека, и там документов,
по сравнению с торговлей, очень мало.

MikeOne
Нужно детально смотреть, что и где напрягает систему.

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

Железо у вас для такого количества пользователей и такого размера базы выше крыши в 4-5 раз. Вряд ли вы перед внедрением делали нагрузочное тестирование, поэтому для самописной конфы количество проблем может быть очень большим.
strizh
1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно.

Возможно стоит использовать измерения последовательностей

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

Возможно у вас неоптимальная структура базы, если с такой периодичностью возникает такое количество изменений

strizh
3. При необходимости выгрузки в .dt и загрузки из .dt операция длится более 12 часов.

Зачем вам это? Пользуйтесь бэкапом SQL

strizh
4. Операция проверки целостности базы длится более 4 суток.

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

strizh
5. В центральной базе активно работают 30 человек. Даже когда нет обменов, проведение одного документа может длиться 1-2 минуты

Проблема в избыточных блокировках или что менее вероятно в неоптимальном алгоритме. Необходимо использовать управляемые блокировки.
strizh
Кто что посоветует для улучшения ситуации ?

В вашем городе есть франчи, в штате которых есть эксперты по технологическим вопросом, их список можно посмотреть на сайте 1С. Пригласите такого специалиста на 1-2 недели и получите список проблем с вариантами решения
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829867
vitkhv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizh
Да. Мы думаем над обрезанием. Но вдруг есть другой путь ?



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

Делайте бекап через скуль (по идее он у Вас должен делаться меньше чем за 1 час, если дольше капайте в сторону улучшения железа)

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

Ну и в дальше оптимизация конфигурации с помощь профайлера,DTA и грамотного программиста.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829911
GHOST_FROM_HELL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема не в железе, SQL и даже не в 1С - проблема скорее всего в архитектуре...
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36829963
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svcoder... поэтому для самописной конфы количество проблем может быть очень большим.

у нас не самописная, у нас сильно доработанная типовая УПП
svcoder...Возможно стоит использовать измерения последовательностей

Начали думать над этим, но по другому поводу.

svcoderВозможно у вас неоптимальная структура базы, если с такой периодичностью возникает такое количество изменений

Что значит - неоптимальная ? Какой должна быть целевая функция ? Какой алгоритм оптимизации
должен быть ?
Просто у нас сезон, и каждый филиал порождает в месяц примерно 400000 документов.

svcoderstrizh
3. При необходимости выгрузки в .dt и загрузки из .dt операция длится более 12 часов.

Зачем вам это? Пользуйтесь бэкапом SQL

Мы и пользуемся, и идет он 20 минут. DT-шник нужен для лечения базы от битых ссылок, которые
пару раз массово рождались после краха сервера приложений 1С (первый раз по невыясненной
причине, второй раз из-за выхода из строя UPS-са в самый неподходящий момент). По пока
невыясненной причине в небольшом количестве битые ссылки появляются после загрузки особо
больших обменов (1.5 гига файл XML). А особо большие обмены рождаются после отсутствия в
особо отличившихся филиалах инета в течение недели.

svcoderНеобходимо использовать управляемые блокировки.

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

Вы в первом посте написали что конфигурация - не типовая. Соответвенно весь мой пост основывался на этом

strizh
Что значит - неоптимальная ? Какой должна быть целевая функция ? Какой алгоритм оптимизации
должен быть ?
Просто у нас сезон, и каждый филиал порождает в месяц примерно 400000 документов.

Какой вариант обмена вы используете (встроенные процедуры обмена или свои)? Мигрируют ли данные одного филиала в другой или только в центральную базу? Выгружаете ли вы в центральную базу все документы или только те которые делают финансовые движения (например нет смысла выгружать в центральную базу заказы покупателей)?

strizh
Мы и пользуемся, и идет он 20 минут. DT-шник нужен для лечения базы от битых ссылок, которые
пару раз массово рождались после краха сервера приложений 1С (первый раз по невыясненной
причине, второй раз из-за выхода из строя UPS-са в самый неподходящий момент). По пока
невыясненной причине в небольшом количестве битые ссылки появляются после загрузки особо
больших обменов (1.5 гига файл XML). А особо большие обмены рождаются после отсутствия в
особо отличившихся филиалах инета в течение недели.

какую версию платформы вы используете? За целостностью данных следит не сервер приложений, а sql сервер, поэтому непонятно как из-за сервера приложений образовались битые ссылки. Думаю причину нужно искать в механизме обмена, т.к. если используется не стандарная процедура обмена возможно не все данные записываются в одной транзакции, из-за этого битые ссылки.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830096
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svcoderКакой вариант обмена вы используете (встроенные процедуры обмена или свои)?

Я уже писал выше: "Обмены идут на механизме БП, и мало где используется
авторегистрация документа к обмену (это уже было несколько попыток увеличить скорость
обменов - увеличили год назад втрое, но снова не хватает)."
svcoder
Мигрируют ли данные одного филиала в другой или только в центральную базу?

Только в направлениях Филиал <-> Центр
svcoder
Выгружаете ли вы в центральную базу все документы или только те которые делают финансовые
движения (например нет смысла выгружать в центральную базу заказы покупателей)?

По нашим бизнес-процессам - вынуждены из филиалов выгружать в центр все.

svcoderкакую версию платформы вы используете?

13-ю. Знаем, что есть 15-я, но пока нет возможности обновиться.

svcoder За целостностью данных следит не сервер приложений, а sql сервер, поэтому
непонятно как из-за сервера приложений образовались битые ссылки.

С этого места - подробнее. Как именно SQL-сервер следит за целостностью данных в БД 1С ?
Из средств контроля ссылочной целостности я видел только использование уникальных индексов
и использование типа полей UID. Но ни foreign key, ни триггеров, ни constaint - нет.

svcoder Думаю причину нужно искать в механизме обмена, т.к. если используется не
стандарная процедура обмена возможно не все данные записываются в одной транзакции, из-за
этого битые ссылки.
Скорее всего, Вы правы. У нас в планах переделать обмены и модули проведения самых больших
документов на управляемые блокировки. Тогда мы сможем контролировать, с какого места
начинать транзацию, где ее завершать или откатывать. Не смогли разобраться, как управлять из
1С режимом изоляции транзакций SQL-сервера. А возможно ли ? И нужно ли ?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830125
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigusПо поводу обмена, может стоит сделать выгрузку более мелкими партиями.(У меня
например по 1 документу выгружается, а справочники по сотне за 1 цикл синхронизации) Тем
самым вы сделаете нагрузку на сервер более равномерной.

Пока не перешли на управляемые блокировки - чаще сделать не можем. В карте обменов обмен
(выгрузка или загрузка) начинаются каждые 5 минут. Пробовали сделать чаще - обмены
накладываются друг на друга и возникают блокировки.
rigus
Ну и в дальше оптимизация конфигурации с помощь профайлера,DTA и грамотного программиста.

Можно подробнее - что и куда копать ? И что такое DTA ?

Ну и возникает еще вопрос. У кого-то из присутствующих есть в эксплуатации база такого
размера ?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830241
не 110 нет, 70 где-то пока.
"1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно." - вот это удивляет
400000 документов.
400000 / 31 = 12500 документов в день
12500 / 24 = 537 докуметов в час
6 секунд на документ круглые сутки при том что документ в пустой бае проводится 1-2 минуты как-то не то
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830348
rigus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DTA - это Database engine Tuning Advisor. Стандарное приложение входящее в MS SQL
Принцип оптимизации следующий.
Вначале профайлером записываем трейс в файл (хотябы несколько минут активной работы)
далее в DTA используем этот файл - и после некоторой работы программа выдаст рекомендации какие индексы и статистики нужно создать. (Статистики можно создавать безболезненно, а вот индексы
нужно перед этим расшифровать через стандартную обработку DBstructure81.epf (и создать в конфигураторе наиболее подходящие индексы). Все это без изменения кода запросов.
После данной оптимизации нужно уже оптимизировать тяжелые запросы (переписывать) на соседнем форуме по ms sql есть куча всего позволяющих отследить данные запросы, а также рекомендаций по ускорению оных.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830419
svcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizh
Я уже писал выше: "Обмены идут на механизме БП, и мало где используется
авторегистрация документа к обмену (это уже было несколько попыток увеличить скорость
обменов - увеличили год назад втрое, но снова не хватает)."

Что значит механизм БП? Как я понимаю единственное изменение по сравнению со стандартной регистрацией - не выгружать изменения из центральной базы в филиалы, которые не создавали документ.
strizh
С этого места - подробнее. Как именно SQL-сервер следит за целостностью данных в БД 1С ?
Из средств контроля ссылочной целостности я видел только использование уникальных индексов
и использование типа полей UID. Но ни foreign key, ни триггеров, ни constaint - нет.

По понятным причинам приведенных вами механизмов 1С 8 не использует. Целостность данных обеспечивается на уровне транзакции. Например удаление документа влечет за собой удаление всех его движений

svcoder Думаю причину нужно искать в механизме обмена, т.к. если используется не
стандарная процедура обмена возможно не все данные записываются в одной транзакции, из-за
этого битые ссылки.
Скорее всего, Вы правы. У нас в планах переделать обмены и модули проведения самых больших
документов на управляемые блокировки. Тогда мы сможем контролировать, с какого места
начинать транзацию, где ее завершать или откатывать. Не смогли разобраться, как управлять из
1С режимом изоляции транзакций SQL-сервера. А возможно ли ? И нужно ли ?[/quot]
Управляемые блокировки никак не помогут вам контролировать транзакции. Режим изоляции транзакций разный для разных объектов, причем разный в автоматическом и управляемом режиме. Управлять этим нельзя
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830448
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svcoderЧто значит механизм БП?
Значит, что программеры с помощью механизма 1С для описания бизнес-процессов нарисовали
БП обменов. Понятное дело, что внутри блоков БП процедуры очень похожие на стандартные
обмены УПП.

svcoderУправляемые блокировки никак не помогут вам контролировать транзакции. Режим
изоляции транзакций разный для разных объектов, причем разный в автоматическом и
управляемом режиме. Управлять этим нельзя
Тогда подробнее. Чем нам помогут управляемые блокировки ? И как нам контролировать
транзакции ?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830450
strizh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Френсис Дрейк...
400000 документов.
400000 / 31 = 12500 документов в день
12500 / 24 = 537 докуметов в час...
Извините, не в ту строчку статистики посмотрел. 400000 - это документов и строк табличных
частей документов. Самих документов - примерно в 7 раз меньше.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830614
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rigusПосле данной оптимизации нужно уже оптимизировать тяжелые запросы (переписывать) на соседнем форуме по ms sql есть куча всего позволяющих отследить данные запросы, а также рекомендаций по ускорению оных.
речь идет об 1С. Какие еще тяжелые запросы и их оптимизация?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830627
svcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
strizhsvcoderЧто значит механизм БП?
Значит, что программеры с помощью механизма 1С для описания бизнес-процессов нарисовали
БП обменов. Понятное дело, что внутри блоков БП процедуры очень похожие на стандартные
обмены УПП.

svcoderУправляемые блокировки никак не помогут вам контролировать транзакции. Режим
изоляции транзакций разный для разных объектов, причем разный в автоматическом и
управляемом режиме. Управлять этим нельзя
Тогда подробнее. Чем нам помогут управляемые блокировки ? И как нам контролировать
транзакции ?
Это достаточно объемная тема, все-таки вам стоит сначала почитать документацию, ИТС, форум разработчиков, а уже потом задать конкретный вопрос.
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830673
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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с..

Итак мы начинаем...
1. Какие все процедуры по обслуживанию выполняются? ребилд и апдейдстатистикс фор еач тайбл?
2. Найдите самые тяжелые объекты 1с ( таблицы - регистры = движения+ промежуточные остатки)
3. Какая версия MS SQL? Какой SP? 64 bit?
4. Используется ли сегментирование в бд?
5. Регистр Бух проводок. Какая глубина у субконто ? Больше ли трех? используется ли в качестве субконто - справочник товаров? Сколь в справочнике товаров(номенклатура) позиций?
6. Часто ли по Регистрам ( особенно накоплений) идут составные типы данных?
7. Выведен ли TempDB на отдельный массив?
8. Есть ли полигон? Попробуйте tempdb положить в ОЗУ? Поможет ли?
9. Сколько занимают данные, а сколько индексы?
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830674
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сОбрезать. Там где нужны отчеты - обращаться к копии.

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

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

Достаточно ввести сегментирование и резать ничего не надо..
Вот бы еще 8,1 научить не каждый месяц хранить промежуточные итоги была бы вообще песня..
...
Рейтинг: 0 / 0
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
    #36830892
rigus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmречь идет об 1С. Какие еще тяжелые запросы и их оптимизация?
Ну если Вы пишите 1совские запросы которые им(1с-ом) преобразуются в правильные (оптимальные) sql запросы, то конечно все хорошо. Но в большинстве случаев рядовой программист 1с вообще не знает механизма преобразования. Как следствие простенький запрос в 1с может преобразоваться в нечто монстроидальное в sql-е с неочень оптимальным планом выполнения и еще в довесок если тип неопределен присабачит кучу ненужных таблиц в запросе как следствие понижение производительности. + смотря план запроса можно понять каких индексов не хватает и т.д.
...
Рейтинг: 0 / 0
У кого большой размер 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
44 сообщений из 44, показаны все 2 страниц
Форумы / [игнор отключен] [закрыт для гостей] / У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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