8.х Медленное формирование оборотки в 1С 8.2

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

  1. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте ВСЕ.
    Значит так, имеем
    Три сервера: Терминальный - 1с приложения - SQL-сервер

    SQL server
    2xXeon E5645 2.4GHz (24 ядра)
    48 Gb RAM
    8x300 Gb Seagate 15K.7 16 Mb Cache in RAID 10
    RAID Supermicro SMC2108 with 512 Mb Cache
    MB Supermicro X8DTL-i

    Windows 2008 R2 Enterprice Edition x64 SP1
    SQL Server 2008 R2 x64
    Больше никакого софта не стоит


    1c сервер
    Core i5 760 3.08 Ghz
    16 Gb
    1x500 Seagate 7200.12
    Windows 2008 R2 Enterprice Edition x64 SP1
    1C-сервер 8.2.15.294 (х86-х64)


    сервер терминалов
    2xXeon E5620 2.4GHz (16 ядер)
    16 Gb RAM
    2x146 Gb Fujitsu 15K 16 Mb Cache in RAID 10
    RAID Supermicro SMC2108 with 512 Mb Cache
    MB Supermicro X8DTL-i

    Windows 2003 Enterprice Edition x64 SP1
    1C 8.2.15.294
    60 пользователей
    Сеть между серверами 1Гб\с

    Также имеем 5 рабочих баз
    Управление торговым предприятием для Казахстана, редакция 1.0, разработка для Казахстана: «1С-Рейтинг», 2008 (1.0.18.9)

    Размер баз: от 4 до 13 Гб

    Вопрос: Формирование оборотно-сальдовой ведомости по счету Товары (1330) может проходить до 3500-4000 секунд (данные Консоли администрирования 1с сервера)

    и что интересно: на третий раз формирования ОСВ, то есть первый раз сформировали - 1-2 секунды, провалились изменили какой нибудь документ, опять сформировали - 10-15 секунд, опять провалились что-то поправили в документах, третий раз формируем - и все.... Песочные часы, белый экран.... Помогает только принудительный сброс сеанса. Хотя однажды решили оставить такой завис, и через какое то долгое время ОСВ все таки сформировалась. Уже все интернеты перерыл, не знаю что делать? Помогите
  2. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Так. Во первых конечно хз, в остальном:
    1) Советую обязательно обновить платформу (хотя-бы до релиза 8.2.15.301, сейчас уже есть тестовый 310, как только он перейдет в статус финальных - обновить на него.). Причина - поправлены ошибки с утечками памяти.
    2) Скажите - 16 Gb на терминальном сервере для 60 пользователей - не мало? Что говорит мониторинг памяти? (%использования, обмен страниц).
    3) Регламентные операции на сервере SQL для баз 1С настроены и выполняются?

    Еще мысль:
    4) Если на сервере SQL выключить HT - как сказывается на производительности?

    Еще мысль:
    5) Какие RAID контроллеры стоят? Там есть настройки кэширования на чтение/запись? Если есть как выставлены?
  3. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    (1) Насчет платформы думали, скоро обновим, сейчас просто очень напряженный период работы, ни на минуту нельзя прерывать работу. Обновим - отпишусь
    (2) 60 пользователей - зарегистрировано, одновременно работают 30 +\- 5 пользователей. и если пользоваться формулой, что в терминалке на одного пользователя требуется около 250 МБ памяти, то получим: 30х250=7500 Мб. Примерно также и показывается в диспетчере задач. Мониторинг памяти произведу и вложу скриншоты.
    (3) Регламентные задания настроены на всех базах. Порядок: Сжатие данные - Восстановление индексов - Реорганизация индексов - Обновление всей статистики - Сброс Процедурного кеша. Выполнение каждые 30 минут. Время выполнения: около 10 минут в каждой базе.
    (4) Уточните вопрос? Что такое НТ? Hyper-Treading? А что реально отключение виртуальных ядер может помочь увеличить производительность?
    (5) RAID Supermicro SMC2108 with 512 Mb Cache - стоит режим allways write back
  4. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    3) Заинтересовало.
    Смотрите - для чего вы каждые 30 минут жмете базу данных? Вы же ее сжимаете - и она тут же разрастается. Это же насилие над жестким диском (+ фрагментация ИБ). У вас ведь нет проблем с местом насколько я понимаю. Уберите этот пункт - пусть растет, и прирост по умолчанию побольше от дефолтного поставьте.
    Не совсем понял что такое "Восстановление индексов" - это перестроение индексов? Если так - зачем делать подряд Перестроение индексов, и тут же реорганизацию? Насколько я понимаю при перестроении они и так будут реорганизованы. Кроме того - интервал 30 минут для подобных действий - чет слишком часто мне кажется.
    Обновление статистик и сброс процедурного кэша - опять таки - не слишком ли часто раз в 30 минут?
    Просто складывается такое впечатление, что сервер SQL у вас только и занят выполнением регламентных операций по обслуживанию базы данных, и на все остальное у него времени не остается.

    Резюмируя:
    Сжатие данных - я бы вообще убрал (ну или в крайнем случае раз в месяц поставил)
    Перестроение индексов - раз в неделю.
    Реорганизацию индексов - раз в день.
    Обновление статистик и сброс процедурного кэша - ну попробовал бы раз в сутки оставить.
    (все эмпирически).


    4) Да, Hyper-Treading. Да может. Если почитаете в сети мнение о влияние HT на производительность MS SQL неоднозначное. Есть сообщения о снижении производительности при использовании HT (есть и обратные). Общие рекомендации к которым пришел - пробовать и так и так.

    5) Я имел ввиду как выделяется память для чтения/записи. Например у меня это устанавливается так:
    Посмотреть вложение 10906
    т.е. кэш должен стоять как на чтение так и на запись.

    Вложения:

    • cache.PNG
      cache.PNG
      Размер файла:
      237,9 КБ
      Просмотров:
      479
  5. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Перенастроил регламентные задания в SQL. Посмотрим как повлияет.

    Скриншот со счетчикка памяти на терминалке не успел сделать, но в показатели Максимум стоит число 26034,260, это был один пик на графике.
    На SQL максимум который был около 6000 этот же показатель.

    Хотел еще спросить по поводу базы tempdb
    Во многих форумах, да и на сайте самого Microsoft-а сказано: чтобы количество файлов данных базы tempdb было равно количеству процессоров, причем двухъядерные процессоры считаются за 2 процессора, но логические процессоры (технология Hyper-Threading) не считаются отдельными процессорами.
    Как вы смотрите на это утверждение. Вот ссылка на публикацию: http://technet.micro...y/cc966534.aspx
    Стоит ли размножать файлы базы tempdb?

    Насчет кеша для чтения и записи - я в настройках своего контроллера не нашел подобной настройки. Контроллер на чипсете LSI. Вот ссылка на описание данного контроллера http://www.supermicro.com/products/accessories/addon/AOC-USAS2LP-H8IR.cfm
  6. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Ну как сказать. В принципе если microsoft по поводу своего же продукта говорит, что лучше делать так и так - то думаю к этому стоит прислушиваться. Они лучше знают.. :) Просто тут дело в том - а действительно ли это в вашем конкретном случае даст какой-нибудь ощутимый прирост производительности? Если нет - то зачем огород городить?

    Можете конечно запустить на sql сервере MS BPA (Best Practices Analyzer) - и посмотреть что оно вам насоветует. По мере возможности выполнить рекомендации.


    _http://www.supermicro.com/support/faqs/faq.cfm?faq=11697
    все нормально должно быть.
  7. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Спасибо за ссылку. У меня именно так и стоит как там указано. Режим - write back.
    Вот теперь заинтересовался НТ. Хочется попробовать. Придется искать какую-нибудь причину чтобы выгнать всех с баз. Как протестирую - отпишусь.
  8. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Неа, не помогло отключение НТ и добавление файлов данных базы tempdb.
    Также при нажатии Сформировать в ОСВ по счету 1330 - программа 1с зависает (песочные часы, серый экран).

    Почему так? что ему еще надо? каков принцип формирования этой оборотно-сальдовой ведомости, откуда он берет данные, где узкое место?
  9. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    В первом посте опечатка. На терминальном сервере RAID не 10, а 1 уровня
  10. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Да в данном случае в принципе неважно 1-й уровень или 10-й.


    Я с указанной конфигурацией не сталкивался, что там и как - не знаю, где узкое место тоже затрудняюсь сказать. Все 5 баз - конфигурация одна и та же? Она типовая от разработчика или дописанная?

    Если зайти в 1С через конфигуратор и запустить тестирование и исправление? (со всеми галками сделайте, резервную копию перед началом не забудьте, учтите - может занять продолжительное время, поэтому лучше на ночь)
  11. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Конфигурация Типовая, дописывалось все только внешними обработками.

    Насчет тестирования и исправления думали, но с нашими об"емами это будет не одну ночь длится.

    И все таки вчера ночью, после долгих раздумий и совещаний с человеком, который курирует 1с в нашей компании, нашли один метод, чтобы оборотка не зависала, но теоретически об"яснить его пока не смогли.
    Метод заключается в следующем:
    Если повторно формировать оборотку в том же окне где она была уже сформирована, то происходит зависание, а если закрывать предыдущее окно с обороткой и открыть его заново через Отчеты - Оборотно-сальдовая по счету, и сформировать с такими же параметрами, то все формируется быстро.

    Создается такое впечатление, что старые данные в ОСВ как-то влияют на запрос новых данных. Или они занимают память эти старые данные. Если сможете то дайте об"яснение такому поведению программы. Факт в том что метод описанный выше работает. Заранее благодарю
  12. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Еще одно наблюдение

    Если не закрыть оборотку, а сформировать новую рядом, то все равно идет зависание. То есть для быстрого формирования требуется чтобы ни одна оборотка не была открыта.
  13. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    имхо - пламенный привет программисту, который писал обработку.

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

    ЗЫ. написать можно так, что подвиснет машина любой мощности..
  14. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Нет, имелось ввиду, что дорабатывались совсем другие обработки, которые нужны для работы. А ОСВ - это же типовой отчет который идет с конфигурацией, его мы не трогали. С учетом этого как можно обяснить такое поведение 1с?

    Хорошо, попробуем, но почему тогда первые два раза формирование идет быстро, а потом зависает?

    хотя вот уже полдня бухи работают по тем рекомендациям которые были написаны постом выше, вроде полет нормальный, висяки убрались. Значит все таки старая оборотка как то влияет на запрос новых данных
  15. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Да не должно. Машины у вас не слабые. Не запускайте сразу для всех баз, по одной делайте. Часа за 3 должно справится для одной базы мне кажется.



    Такое поведение наблюдается на всех базах или только в одной?

    Не знаю почему так, по идее все должно быть наоборот: при первом обращении данные должны кэшироваться и второй запрос должен проходить быстрее.
  16. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1

    Такое поведение во всех базах без исключения. Но сейчас обнаружилось что и наш метод не 100 процентов помогает. Даже после закрытия ОСВ и открытия ее в новом окне, все равно бывает что уходит в песочные часы. А то что должно быть все наоборот - это логично.

    Сегодня будем обновляться на 310 релиз платформы (кстати он сегодня 18.04.2012 уже выпущен), посмотрим что там. В изменениях написано что исправлены ошибки с памятью и с какими-то дескрипторами операционной системы. Может поможет.
  17. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    На данный момент вопрос в том, что неизвестно что у вас так тормозит (какой из серверов).
    Чтобы исключить из рассмотрения терминальный сервер - можно развернуть клиентскую часть платформы на сервере 1С и попробовать поформировать отчеты там. Так же можно попробовать напрямую подключится к серверу 1С с клиентского компьютера минуя сервер терминалов и посмотреть каковы результаты.

    Надо все же делать полный мониторинг нагрузки на сервер. Необходимые показатели - где то уже у нас здесь это обсуждалось уже.

    Кстати, забыл спросить, в вашей конфигурации есть такая вещь как "ограничение доступа на уровне записей"? Если есть - оно случаем не включено?

    З.Ы. тему перенесу из этого раздела в раздел "Установка платформы "1С:Предприятие 8", MS SQl, Postgre SQL, Oracle, DB2".
  18. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Насчет ограничения доступа на уровне записей - такая штука есть и включена. Ее отключить нельзя, так как в каждой из баз есть по 5 филиалов, которым не надо видеть друг друга - это очень упрощенно я сказал. Там есть такая фишка, надо ограничить на редактирование одну папку в справочнике Номенклатура, поэтому и начали использовать "ограничение доступа на уровне записей, конечно если есть какие нибудь другие способы осуществить данное ограничение (запрет на редактирование одной папки в справочнике Номенклатура), то будем рады применить.

    Насчет подключения напрямую к 1с серверу, такое уже реализовано, таким образом подключаются бухи внутри нашего офиса, но у них профиль работы другой, то есть будет тяжело смоделировать ту работу которую делают пользователи на терминале. А у бухов в офисе оборотка работает нормально (применительно к их профилю работы). Формирование 5 - 10 секунд
  19. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    1. Полностью отключите временно доступ на уровне записей и погоняйте.
    2. Т.е. я правильно понял, что у людей подключающихся минуя сервер терминалов ОСВ не тормозит?

    Ну надо бы все-таки смоделировать работу удаленных пользователей на локальном подключении (без сервера терминалов). Надо же понять какой из серверов у вас тормозит работу. Может дело и не в 1С?
  20. TopicStarter Overlay
    mtemirlan1
    Offline

    mtemirlan1

    Регистрация:
    17 апр 2012
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    1
    Да, вы правильно поняли. Постараемся смоделировать работу удаленных пользователей на локально подключенных, посмотрим.

    И с доступом на уровне записей тоже потестим.

    Сразу отпишусь. Спасибо за советы

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