|
|
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
У нас размер файла .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 минуты Кто что посоветует для улучшения ситуации ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 11:02 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Обрезать. Там где нужны отчеты - обращаться к копии. А случайно файлы не прикрепляете к базе? А что за база то? Что в ней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 11:58 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
strizh Кто что посоветует для улучшения ситуации ? нанять специалиста для поддержки 1С одного DBA мало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 14:10 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Shuhardstrizh Кто что посоветует для улучшения ситуации ? нанять специалиста для поддержки 1С одного DBA мало +1. Ну и конечно "железо" очень слабенькое, попробуйте раза в 3, как минимум, нарастить. В сторону "облака" также посмотрите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 15:57 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
p.s. забыл смайлик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 17:56 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
strizh, "Конфигурация - не типовая" - возможно, в этом и заключается ответ. Можно такого понаписать, что ляжет любое железо. Нужно детально смотреть, что и где напрягает систему. Опять же, неясно, какие попытки оптимизации уже были. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 19:40 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Программист 1с Обрезать. Там где нужны отчеты - обращаться к копии. Да. Мы думаем над обрезанием. Но вдруг есть другой путь ? Программист 1с А случайно файлы не прикрепляете к базе? Прикрепляем немного (в одну таблицу). Их общий размер сейчас не более 4 Гб. Используются они редко на просмотр (это архив скан-копий счетов поставщиков). Программист 1с А что за база то? Что в ней? УПП, но сильно доработанная - добавлены спецармы для торгашей и новая подсистема учета торгового оборудования, плюс обмены идут на механизме БП, и мало где используется авторегистрация документа к обмену (это уже были попытки увеличить скорость обменов - увеличили год назад втрое, но снова не хватает). Опять таки - спецармы для торгашей используются на филиалах, а в центральный офис заезжают готовые расходные и налоговые накладные, чеки, кассовые ордера. Подсистемой учета оборудования пользуются в центральном офисе 4 человека, и там документов, по сравнению с торговлей, очень мало. MikeOne Нужно детально смотреть, что и где напрягает систему. Ничего не напрягает. На пиках нагрузки, когда все юзеры говорят, что система "висит" - загрузка процессоров обеих серверов не более 10 процентов. Очереди обращений к дискам - короткие совсем. И памяти вроде хватает - всегда остается от 5 до 10% свободной. Как еще смотреть ? Куда копать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 21:29 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
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 недели и получите список проблем с вариантами решения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 21:39 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
strizh Да. Мы думаем над обрезанием. Но вдруг есть другой путь ? Всегда есть другой путь. Обрезать последнее дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 21:44 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Памяти все же на сервер где ms sql добавьте чем больше тем лучше. Делайте бекап через скуль (по идее он у Вас должен делаться меньше чем за 1 час, если дольше капайте в сторону улучшения железа) По поводу обмена, может стоит сделать выгрузку более мелкими партиями.(У меня например по 1 документу выгружается, а справочники по сотне за 1 цикл синхронизации) Тем самым вы сделаете нагрузку на сервер более равномерной. Ну и в дальше оптимизация конфигурации с помощь профайлера,DTA и грамотного программиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 21:50 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Проблема не в железе, SQL и даже не в 1С - проблема скорее всего в архитектуре... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 22:42 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
svcoder... поэтому для самописной конфы количество проблем может быть очень большим. у нас не самописная, у нас сильно доработанная типовая УПП svcoder...Возможно стоит использовать измерения последовательностей Начали думать над этим, но по другому поводу. svcoderВозможно у вас неоптимальная структура базы, если с такой периодичностью возникает такое количество изменений Что значит - неоптимальная ? Какой должна быть целевая функция ? Какой алгоритм оптимизации должен быть ? Просто у нас сезон, и каждый филиал порождает в месяц примерно 400000 документов. svcoderstrizh 3. При необходимости выгрузки в .dt и загрузки из .dt операция длится более 12 часов. Зачем вам это? Пользуйтесь бэкапом SQL Мы и пользуемся, и идет он 20 минут. DT-шник нужен для лечения базы от битых ссылок, которые пару раз массово рождались после краха сервера приложений 1С (первый раз по невыясненной причине, второй раз из-за выхода из строя UPS-са в самый неподходящий момент). По пока невыясненной причине в небольшом количестве битые ссылки появляются после загрузки особо больших обменов (1.5 гига файл XML). А особо большие обмены рождаются после отсутствия в особо отличившихся филиалах инета в течение недели. svcoderНеобходимо использовать управляемые блокировки. Да, мы начали работать в этом направлении. Но сразу все модули перевести на управляемые блокировки не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2010, 23:54 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
strizh у нас не самописная, у нас сильно доработанная типовая УПП Вы в первом посте написали что конфигурация - не типовая. Соответвенно весь мой пост основывался на этом strizh Что значит - неоптимальная ? Какой должна быть целевая функция ? Какой алгоритм оптимизации должен быть ? Просто у нас сезон, и каждый филиал порождает в месяц примерно 400000 документов. Какой вариант обмена вы используете (встроенные процедуры обмена или свои)? Мигрируют ли данные одного филиала в другой или только в центральную базу? Выгружаете ли вы в центральную базу все документы или только те которые делают финансовые движения (например нет смысла выгружать в центральную базу заказы покупателей)? strizh Мы и пользуемся, и идет он 20 минут. DT-шник нужен для лечения базы от битых ссылок, которые пару раз массово рождались после краха сервера приложений 1С (первый раз по невыясненной причине, второй раз из-за выхода из строя UPS-са в самый неподходящий момент). По пока невыясненной причине в небольшом количестве битые ссылки появляются после загрузки особо больших обменов (1.5 гига файл XML). А особо большие обмены рождаются после отсутствия в особо отличившихся филиалах инета в течение недели. какую версию платформы вы используете? За целостностью данных следит не сервер приложений, а sql сервер, поэтому непонятно как из-за сервера приложений образовались битые ссылки. Думаю причину нужно искать в механизме обмена, т.к. если используется не стандарная процедура обмена возможно не все данные записываются в одной транзакции, из-за этого битые ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 00:13 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
svcoderКакой вариант обмена вы используете (встроенные процедуры обмена или свои)? Я уже писал выше: "Обмены идут на механизме БП, и мало где используется авторегистрация документа к обмену (это уже было несколько попыток увеличить скорость обменов - увеличили год назад втрое, но снова не хватает)." svcoder Мигрируют ли данные одного филиала в другой или только в центральную базу? Только в направлениях Филиал <-> Центр svcoder Выгружаете ли вы в центральную базу все документы или только те которые делают финансовые движения (например нет смысла выгружать в центральную базу заказы покупателей)? По нашим бизнес-процессам - вынуждены из филиалов выгружать в центр все. svcoderкакую версию платформы вы используете? 13-ю. Знаем, что есть 15-я, но пока нет возможности обновиться. svcoder За целостностью данных следит не сервер приложений, а sql сервер, поэтому непонятно как из-за сервера приложений образовались битые ссылки. С этого места - подробнее. Как именно SQL-сервер следит за целостностью данных в БД 1С ? Из средств контроля ссылочной целостности я видел только использование уникальных индексов и использование типа полей UID. Но ни foreign key, ни триггеров, ни constaint - нет. svcoder Думаю причину нужно искать в механизме обмена, т.к. если используется не стандарная процедура обмена возможно не все данные записываются в одной транзакции, из-за этого битые ссылки. Скорее всего, Вы правы. У нас в планах переделать обмены и модули проведения самых больших документов на управляемые блокировки. Тогда мы сможем контролировать, с какого места начинать транзацию, где ее завершать или откатывать. Не смогли разобраться, как управлять из 1С режимом изоляции транзакций SQL-сервера. А возможно ли ? И нужно ли ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 12:58 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
rigusПо поводу обмена, может стоит сделать выгрузку более мелкими партиями.(У меня например по 1 документу выгружается, а справочники по сотне за 1 цикл синхронизации) Тем самым вы сделаете нагрузку на сервер более равномерной. Пока не перешли на управляемые блокировки - чаще сделать не можем. В карте обменов обмен (выгрузка или загрузка) начинаются каждые 5 минут. Пробовали сделать чаще - обмены накладываются друг на друга и возникают блокировки. rigus Ну и в дальше оптимизация конфигурации с помощь профайлера,DTA и грамотного программиста. Можно подробнее - что и куда копать ? И что такое DTA ? Ну и возникает еще вопрос. У кого-то из присутствующих есть в эксплуатации база такого размера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 14:02 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
не 110 нет, 70 где-то пока. "1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно." - вот это удивляет 400000 документов. 400000 / 31 = 12500 документов в день 12500 / 24 = 537 докуметов в час 6 секунд на документ круглые сутки при том что документ в пустой бае проводится 1-2 минуты как-то не то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 16:36 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
DTA - это Database engine Tuning Advisor. Стандарное приложение входящее в MS SQL Принцип оптимизации следующий. Вначале профайлером записываем трейс в файл (хотябы несколько минут активной работы) далее в DTA используем этот файл - и после некоторой работы программа выдаст рекомендации какие индексы и статистики нужно создать. (Статистики можно создавать безболезненно, а вот индексы нужно перед этим расшифровать через стандартную обработку DBstructure81.epf (и создать в конфигураторе наиболее подходящие индексы). Все это без изменения кода запросов. После данной оптимизации нужно уже оптимизировать тяжелые запросы (переписывать) на соседнем форуме по ms sql есть куча всего позволяющих отследить данные запросы, а также рекомендаций по ускорению оных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 18:30 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
strizh Я уже писал выше: "Обмены идут на механизме БП, и мало где используется авторегистрация документа к обмену (это уже было несколько попыток увеличить скорость обменов - увеличили год назад втрое, но снова не хватает)." Что значит механизм БП? Как я понимаю единственное изменение по сравнению со стандартной регистрацией - не выгружать изменения из центральной базы в филиалы, которые не создавали документ. strizh С этого места - подробнее. Как именно SQL-сервер следит за целостностью данных в БД 1С ? Из средств контроля ссылочной целостности я видел только использование уникальных индексов и использование типа полей UID. Но ни foreign key, ни триггеров, ни constaint - нет. По понятным причинам приведенных вами механизмов 1С 8 не использует. Целостность данных обеспечивается на уровне транзакции. Например удаление документа влечет за собой удаление всех его движений svcoder Думаю причину нужно искать в механизме обмена, т.к. если используется не стандарная процедура обмена возможно не все данные записываются в одной транзакции, из-за этого битые ссылки. Скорее всего, Вы правы. У нас в планах переделать обмены и модули проведения самых больших документов на управляемые блокировки. Тогда мы сможем контролировать, с какого места начинать транзацию, где ее завершать или откатывать. Не смогли разобраться, как управлять из 1С режимом изоляции транзакций SQL-сервера. А возможно ли ? И нужно ли ?[/quot] Управляемые блокировки никак не помогут вам контролировать транзакции. Режим изоляции транзакций разный для разных объектов, причем разный в автоматическом и управляемом режиме. Управлять этим нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 19:39 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
svcoderЧто значит механизм БП? Значит, что программеры с помощью механизма 1С для описания бизнес-процессов нарисовали БП обменов. Понятное дело, что внутри блоков БП процедуры очень похожие на стандартные обмены УПП. svcoderУправляемые блокировки никак не помогут вам контролировать транзакции. Режим изоляции транзакций разный для разных объектов, причем разный в автоматическом и управляемом режиме. Управлять этим нельзя Тогда подробнее. Чем нам помогут управляемые блокировки ? И как нам контролировать транзакции ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 20:27 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Френсис Дрейк... 400000 документов. 400000 / 31 = 12500 документов в день 12500 / 24 = 537 докуметов в час... Извините, не в ту строчку статистики посмотрел. 400000 - это документов и строк табличных частей документов. Самих документов - примерно в 7 раз меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 20:29 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
rigusПосле данной оптимизации нужно уже оптимизировать тяжелые запросы (переписывать) на соседнем форуме по ms sql есть куча всего позволяющих отследить данные запросы, а также рекомендаций по ускорению оных. речь идет об 1С. Какие еще тяжелые запросы и их оптимизация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2010, 23:57 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
strizhsvcoderЧто значит механизм БП? Значит, что программеры с помощью механизма 1С для описания бизнес-процессов нарисовали БП обменов. Понятное дело, что внутри блоков БП процедуры очень похожие на стандартные обмены УПП. svcoderУправляемые блокировки никак не помогут вам контролировать транзакции. Режим изоляции транзакций разный для разных объектов, причем разный в автоматическом и управляемом режиме. Управлять этим нельзя Тогда подробнее. Чем нам помогут управляемые блокировки ? И как нам контролировать транзакции ? Это достаточно объемная тема, все-таки вам стоит сначала почитать документацию, ИТС, форум разработчиков, а уже потом задать конкретный вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 00:23 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
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. Сколько занимают данные, а сколько индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 03:05 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Программист 1сОбрезать. Там где нужны отчеты - обращаться к копии. А случайно файлы не прикрепляете к базе? А что за база то? Что в ней? Достаточно ввести сегментирование и резать ничего не надо.. Вот бы еще 8,1 научить не каждый месяц хранить промежуточные итоги была бы вообще песня.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 03:12 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
iscrafmречь идет об 1С. Какие еще тяжелые запросы и их оптимизация? Ну если Вы пишите 1совские запросы которые им(1с-ом) преобразуются в правильные (оптимальные) sql запросы, то конечно все хорошо. Но в большинстве случаев рядовой программист 1с вообще не знает механизма преобразования. Как следствие простенький запрос в 1с может преобразоваться в нечто монстроидальное в sql-е с неочень оптимальным планом выполнения и еще в довесок если тип неопределен присабачит кучу ненужных таблиц в запросе как следствие понижение производительности. + смотря план запроса можно понять каких индексов не хватает и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 10:09 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
VolochkovaПрограммист 1сОбрезать. Там где нужны отчеты - обращаться к копии. А случайно файлы не прикрепляете к базе? А что за база то? Что в ней? Достаточно ввести сегментирование и резать ничего не надо.. Вот бы еще 8,1 научить не каждый месяц хранить промежуточные итоги была бы вообще песня.. Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 10:29 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
rigusiscrafmречь идет об 1С. Какие еще тяжелые запросы и их оптимизация? Ну если Вы пишите 1совские запросы которые им(1с-ом) преобразуются в правильные (оптимальные) sql запросы, то конечно все хорошо. Но в большинстве случаев рядовой программист 1с вообще не знает механизма преобразования. Как следствие простенький запрос в 1с может преобразоваться в нечто монстроидальное в sql-е с неочень оптимальным планом выполнения и еще в довесок если тип неопределен присабачит кучу ненужных таблиц в запросе как следствие понижение производительности. + смотря план запроса можно понять каких индексов не хватает и т.д. Если писать запрос в 1С в терминах SQL, не используя дополнительные возможности, запрос преобразуется в SQL 1 к 1. А раз вы решили использовать дополнительные возможности (автоматическое подключение таблиц и виртуальные таблицы) будьте добры изучить их работу перед использованием. То есть 1С не виновата в том, что у вас "получаются монстроидальные запросы" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 10:34 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
svcoderТо есть 1С не виновата в том, что у вас "получаются монстроидальные запросы" я с Вами полностью согласен что виноват в затупах в 99 процентах случаях проектировщик бд и кодер кто запрос написал. Но по мне гораздо легче научиться писать правильные запросы используя visual studio где видно на чем и почему тормозит запрос, а не в 1с, где ты получаешь результат. (Ну и книги по sql как само разумееющееся без них вообще никуда). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 10:45 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
rigus, Открываете консоль запросов, открываете профайлер в котором включаете запись плана выполнения запроса и вуаля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 10:57 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
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 или от Проф ИТ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 12:56 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
rigusiscrafmречь идет об 1С. Какие еще тяжелые запросы и их оптимизация? Ну если Вы пишите 1совские запросы которые им(1с-ом) преобразуются в правильные (оптимальные) sql запросы, то конечно все хорошо. Но в большинстве случаев рядовой программист 1с вообще не знает механизма преобразования. Как следствие простенький запрос в 1с может преобразоваться в нечто монстроидальное в sql-е с неочень оптимальным планом выполнения и еще в довесок если тип неопределен присабачит кучу ненужных таблиц в запросе как следствие понижение производительности. + смотря план запроса можно понять каких индексов не хватает и т.д. понятн, спсб. Просто в процедуру преобразования нет возможности вмешатся, я поэтому спросил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 14:28 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
авторУ нас размер файла .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 (хотя не факт). Если что - могу подсказать как настроить. Но лучше все-таки посмотреть на загрузку железа вначале. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 22:57 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
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 научить не каждый месяц хранить промежуточные итоги была бы вообще песня.. Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 02:59 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
автор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 гигах озу в ней будет вообще вся база, но блокировки на "необдуманных проетках убьют базу" Ну, во-первых, не вся. Во-вторых, не понял - каким образом бОльший размер оперативной памяти влияет на блокировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 08:44 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Эх... Привык, что ссылки автоматом вставляются. Исправляюсь. Про медленную загрузку .dt Про версии и фикспаки DB2 для 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 09:04 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Volochkova svcoder Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!! Проведение документов задним числом не равно запуску запросов за "прошлые периоды". Недостатки проведения документов задним числом не однократно обсуждались на данном форуме, производительность в числе основных недостатков данного механизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 09:22 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
vitkhvVolochkova svcoder Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!! Проведение документов задним числом не равно запуску запросов за "прошлые периоды". Недостатки проведения документов задним числом не однократно обсуждались на данном форуме, производительность в числе основных недостатков данного механизма. Угу.. годами перепроводится... конечно... а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-) и все в дауне :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 10:59 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
VolochkovavitkhvVolochkova svcoder Проводите все документы оперативно (как в западных учетных системах) и вам будет накласть на существование итогов за прошлые периоды Ага.. и запросы за прошлые периоды НЕ СМЕТЬ запускать! Жить текущим месяцем и все! и баста!!! Проведение документов задним числом не равно запуску запросов за "прошлые периоды". Недостатки проведения документов задним числом не однократно обсуждались на данном форуме, производительность в числе основных недостатков данного механизма. Угу.. годами перепроводится... конечно... а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-) и все в дауне :-) да ладно уже... понятно что нет серебрянной пули и что критично на том и настаиваем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 11:29 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Volochkova, Ну так и разбирайтесь с этими отчётами/пользователями. Добавьте в свою базу хранилище сформированных отчётов за прошлые периоды и выдавайте их пользователям. Только формирование отчётов с обсуждаемыми проблеммам не связано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 12:20 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Volochkova Угу.. годами перепроводится... конечно... а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-) и все в дауне :-) Не понятна ваша логика, причем здесь отчеты которые делаются годами и проведение документов в прошедшем периоде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 12:27 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
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... По крайне мне пересоздание индексов, обновление статистик сильно помогает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 15:06 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
AHDPVolochkova, Ну так и разбирайтесь с этими отчётами/пользователями. Добавьте в свою базу хранилище сформированных отчётов за прошлые периоды и выдавайте их пользователям. Только формирование отчётов с обсуждаемыми проблеммам не связано. Вы сейчас об чем? vitkhvVolochkova Угу.. годами перепроводится... конечно... а вот отчеты ждущие годами - это каждый день и по 50 пользаков :-) и все в дауне :-) Не понятна ваша логика, причем здесь отчеты которые делаются годами и проведение документов в прошедшем периоде? А Ваше тем более.. Секционирование помогает не только для перепроведения задним числом.. ( а именно это увидели как корень зла в 1с и проблему ее производительности) Я же утверждаю, что секции помогают куда больше чем просто в перепроведении. Например в отчете за прошлый год - юзверь получит данные быстрее, чем если база будет лежать не разделенная на секции. И бонус от того что пользователи отчеты увидят быстрее больше, чем 10 бухов перепроводящих вчерашние фактуры. Логика проста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 17:18 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
Volochkova, Вы пытаетесь меня убедить, что секционирование увеличить производительность при работе с БД? Если так, то право, не стоит я и без вас в этом убежден. Хотя пересмотр апаратной архитектуры хранения данных, имеется в виду организация RAID, может принести большую пользу. Решение проблем производительности в случаях подобных случаю топикастера, есть комплексное решение, я лишь поддержал одно из утверждений о том, что проведение документов текущим периодом гораздо производительней чем проведение документов задним числом, но нигде не указывал, что я в этом увидел корень проблемы, будте добры не передергивайте мои слова. Касаемо отчетов - каким они здесь боком? Автор вроде не жалуется на скорость их выполнения, у автора есть 2 конкретных проблемы: 1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно. 2. Обмены с базами филиалов - размеры файлов XML получаются от 50 до 500 Мб (обмен с каждым филиалом - каждые 2 часа). Обмен читается в центральной базе от 1 до 10 минут, за это время юзеры, которые проводят документы, успевают получить кучу ошибок блокировки. Все же способы решения проблем производительности отчетов, производительности массового перепроведения документов и тем более производительности обменов будут между собой различаться как с точки зрения похода к решению этих проблем, так и сточки зрения приоритетов. И боюсь, что проблему с массовым перепроведением документов просто секционированием не решить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2010, 19:27 |
|
||
|
У кого большой размер SQL-базы 1С 8.1 - кто как борется ?
|
|||
|---|---|---|---|
|
#18+
vitkhvVolochkova, Вы пытаетесь меня убедить, что секционирование увеличить производительность при работе с БД? Если так, то право, не стоит я и без вас в этом убежден. Хотя пересмотр апаратной архитектуры хранения данных, имеется в виду организация RAID, может принести большую пользу. Решение проблем производительности в случаях подобных случаю топикастера, есть комплексное решение, я лишь поддержал одно из утверждений о том, что проведение документов текущим периодом гораздо производительней чем проведение документов задним числом, но нигде не указывал, что я в этом увидел корень проблемы, будте добры не передергивайте мои слова. Касаемо отчетов - каким они здесь боком? Автор вроде не жалуется на скорость их выполнения, у автора есть 2 конкретных проблемы: 1. Перепроведение всех документов базы за период 1 неделя идет сутки. Соответственно, восстановление последовательности партионного учета, например - невозможно. 2. Обмены с базами филиалов - размеры файлов XML получаются от 50 до 500 Мб (обмен с каждым филиалом - каждые 2 часа). Обмен читается в центральной базе от 1 до 10 минут, за это время юзеры, которые проводят документы, успевают получить кучу ошибок блокировки. Все же способы решения проблем производительности отчетов, производительности массового перепроведения документов и тем более производительности обменов будут между собой различаться как с точки зрения похода к решению этих проблем, так и сточки зрения приоритетов. И боюсь, что проблему с массовым перепроведением документов просто секционированием не решить. Вы потрудитесь сделать тоже самое. Перепроведение задним числом - это как правило текущий год. Как этого не делать во вчерашних или в фактурах прошлого месяца я хз. Так вот. Секция - выделение текущего года всех регистров в отдельный файл дает ощутимый прирост именно в перепроведении. А выделение на отдельный райд табличек отвечающих за изменения объектов тоже хорошо прибавляет в скорости. А про тормоза - отчеты. Вот к чему. Если у ТС никто не будет запускать отчеты, то автообмен и перепроведение вздохнет спокойнее. По сколько 1с хранит промежуточные итоги, то волшебно было бы заставить ее хранить эти итого раз в год. Это была бы фантастика. А так партицию на регистры натравили / справочники на отдельный винтик вынесли и поскакали. MS SQL становится гораздо легче справляться с запросами 1с. Самое обидное - если косяк в архитектуре. И для перепроведения или даже просто проведения нужно в регистры втыкать столько данных, что просто индексы MS SQL пухнут. Например на 100 метров данных - 200 метров индексов. Это уже вопрос к архитектуре. Это править только методами 1с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2010, 02:08 |
|
||
|
|

start [/forum/topic.php?all=1&fid=28&tid=1522049]: |
0ms |
get settings: |
6ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
100ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 537ms |

| 0 / 0 |
