8.х Сильно растет база 1С 8.2 + MS SQL 2008

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем rio, 18 ноя 2013.

  1. TopicStarter Overlay
    rio
    Offline

    rio

    Регистрация:
    22 мар 2013
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Нет, только начисление заработной платы

    Действительно изврат, и этим извратом я занимался, ничего сверхестественого, либо рост происходит плавно по нескольким таблицам, так что нет какой-то одной сильновыделяющейся
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    давайте определимя - мы сейчас ведем речь только об mdf файле? какой у него стоит размер на увеличение в мб или процентах?
  3. TopicStarter Overlay
    rio
    Offline

    rio

    Регистрация:
    22 мар 2013
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Да mdf
    База (1Мб, рост не ограничен) 4218Mb
    Журнала транзакций (5%, рост не ограничен) 1500Kb
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    1. Ну во первых у Вас прирост базы по 1 мб - это простите ни куда не годиться. Во первых выделение места на диске - это самы долгий процесс из всего, а второе у вас тогда дифрагментация дикая будет.
    2. По поводу размеров базы.. У Вас Версионированеи включено? может быть на файловом было выключено, а сейчас включили
    3. раз у вас ЗУП, контроль по 152 ФЗ включали?
  5. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    раз ЗУП, то тут все очень просто - регистры расчета имеют толпу индексов, плюс достаточно часто обновляемые регистры сведений.
    делайте ребилд индексов почаще, но оставляйте им уровень заполнения (fill factor) порядка 50%, чтобы при изменении записей не выделялись новые страницы по возможности.

    ну и рост базы хотя-бы по 100Mb надо сделать и не устраивать shrink без повода. лучше пусть она будет 5Gb весить, чем тормоза на записи включать
  6. TopicStarter Overlay
    rio
    Offline

    rio

    Регистрация:
    22 мар 2013
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1

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

    Попробую разобраться в написанном
  7. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    прирост в ssms в свойствах базы настраивается
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Все зависит от размера вашего диска. ну как миниму лучше по гигу выделять и все лучше один раз подолжать минуту пока выделит гиг чем 100 разз по 30 секунд
    По умолчанию версионироание не включено
  9. TopicStarter Overlay
    rio
    Offline

    rio

    Регистрация:
    22 мар 2013
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Сделал пока прирост на 100Мб, понаблюдаю, поиграюсь со значениями.
    Контроль по 152 ФЗ не включен
    Версионирование я не включал
  10. TopicStarter Overlay
    rio
    Offline

    rio

    Регистрация:
    22 мар 2013
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Засунул в "Планы обслуживания" задачу "Реорганизацию индекса", после выполнения этой задачи, база сжимается до, практически, первоначального объема.

    Что значит:
    как это делается?
  11. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    там же в плане обслуживания в реорганизации и перестроении индексов. fill factor - это процент заполнения страницы базы, выделенной под индекс
    зачем это нужно:
    записи индексов в базе физически упорядочены, поэтому для того, чтобы вставить новую запись в индекс нужно раздвинуть существующие. если места на странице (база разбита на страницы по 4Кб) не хватает - выделяется дополнительная страница, которая может идти не следом за изменяемой, а может быть расположена в любом месте базы (выделяется из свободных, если свободных нет - увеличивается размер базы), отсюда появляется фрагментация индекса и замедление его считывания.
    если перестраивать индексы со 100% fill factor, то любое изменение индекса приведет к выделению новой страницы. если мы заполняем страницу не полностью, а оставляем свободное место, то добавление записи в индекс приведет к изменению только одной страницы.
  12. TopicStarter Overlay
    rio
    Offline

    rio

    Регистрация:
    22 мар 2013
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Всем спасибо, с размером базы разобрался, "реорганизация индекса" помогла.

    Про fill factor почитал, попробую использовать.

    nickpugachev

    Спасибо
  13. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Строчка про "если перестраивать индексы со 100% fill factor" имеется ввиду значенеи 100 или 100% заполнености, которое соответвунт значение по умолчанию 0?
    Я например, думал, что fill factor обычно на отдельные таблицы устанавливают, которые на ReadOnly или очень часто обновляются (большой прирост записей), и у которых огромное число записей для быстрого поиска (ну на интернет магазинах) и в которых ребилд индексов делается раз в неделю. А каждый день если добавляется по 100 000 записей и по ним поиск нужени если этого не делать то долговато будет искать. А для ЗУПа, если поставить раз в неделю ребилд индексов стоит ли это делать? ведь ЗП не каждый день считается, обычно в конце месяца, и можно в план обслуживания вклюючить ребилд раз в недлею и первым числом месяца. и стоит ли тогда fill factor изменять???еще тем более если изначально размер под базу выделен с запасом. Или я что то упускаю????
  14. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    если текущие документы по состоянию сотрудников вводятся постоянно - имеет смысл держать fill factor не 100% как минимум на индексах регистров сведений. ребилд индексов на зупе стоит проводить после расчетов, во время расчета индексы таблиц регистров расчета (да и накопления тоже) хорошо фрагментируются.

    на ro таблицах и их индексах не имеет смысла ff меньше 100, там имеет смысл как можно меньше страниц занимать, чтобы читать быстро. и индекс кластерный на наиболее частые поля поиска.
    на таблицах которые часто обновляются ff меньше 100 (причем чем чаще обновляется, тем меньше ff, но тут еще от индексов зависит) позволяет реже делать реорганизацию и перестроение индексов. особенно это перестроения индексов по очень большим таблицам касается - операция блокирует таблицу на все время перестроения индекса.
  15. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Спасибо. Но по предыдущему посту я понял, что Вы просто рекомнедовали человку поставить на все таблицы 50% В свойсвах баз данных. Так же?
    я просто думаю имеет ли смысл изменять занчение ff отличное от нуля (т.е заполнять полностью, как кстатати MS рекомендует ставить 100%) т.к. раз в неделю или 2 раза в неделю делается ребилд, который все поправляет и точки зрения дифрагментации и места. а между ребилдами падаения скорости на поиске не ощутимо.
    Что скажите? я же правильно понимаю что по умолчанию параметр 0 и то что мы поставим 100% одно и то же?
  16. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    не на таблицы, а на индексы при реорганизации и ребилде. делается не для уменьшения места, а для уменьшения последующей фрагментации и увеличения скорости записи новых/обновления данных в таблицах
  17. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Ну не совсем так выразился, просто хотел побыстрее написать.
    Просто действительно встает вопрос какое значение ставить. MS рекомендует 100% (ну это аналогично 0, есть статья где сравнивается), а потом уже типа анализируйте и уменьшайте. Просто я не совсем понял как бы уменьшилось место (ну судя из вопроса темы) у пользователя при 50%.
  18. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    MS не рекомендует 100%, это просто значение по умолчанию. MS рекомендует анализировать свои базы, почитайте книжечки по подготовке к 70-462 (это администрирование sql 2012)
  19. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    я имею ввиду не книжки по подготовке к экзамену. А BOL, а в MSDN вообще 30. ну и потом везде пишут "исключительно на основании вышеуказанных объективных средств контроля (типа (Трасер, ДБЦЦ ШоуКонтиг), уменьшать".
    Ну в общем суть понятна.
    Спасибо.

Поделиться этой страницей