|
|
|
У кого большой размер 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?fid=28&msg=36830955&tid=1522049]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 470ms |

| 0 / 0 |
