Курс по Оптимизации 1С — Занятие №13

В рамках этого занятия необходимо изучить следующие материалы.

Модуль 4. Приемы ускорения операций

    Глава 9. Приемы ускорения различных операций

    • Распараллеливание операций. Ускорение записи в регистры

Модуль 5. Кластер серверов

    Глава 10. Кластер серверов

    • Общая информация о кластере серверов
    • Распределение нагрузки. Отказоусточивость кластера серверов
    • Рекомендуемые настройки кластера серверов 8.2
    • Программное лицензирование

Практические задания

К сожалению, у Вас недостаточно прав для дальнейшего просмотра.

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.

Комментарии / обсуждение (239):

  1. yamarsel

    Андрей, не могли бы подсказать, как одновременно работать с агентами 8.2 и 8.3 на одном компьютере. Для 8.2 я изменил диапазон портов, но всё равно ничего не выходит.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • yamarsel

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

        Но осталась следующая проблема.
        Захожу в кластер 8.3, смотрю параметры центрального сервера, стоит порт 1540. Всё работает без проблем.

        Потом захожу в кластер 8.2, смотрю параметры центрального сервера, там тоже стоит порт 1540, при этом сообщается ошибка «Различаются версии клиента и сервера». Меняю порт на 2540, теперь всё работает.

        Но теперь, если зайти обратно в кластер 8.3, ошибка «о различных версиях клиента и сервера» возникает там, и в параметрах центрального сервера в кластере 8.3. порт тоже изменился на 2540.

        В чём тут может быть дело и где зарыт косяк? Данные реестра кластера 8.2 находятся в каталоге, отличном от того, в котором хранятся данные реестра кластера 8.3.

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • yamarsel

            Запускаю консоли 8.2 и 8.3 соответственно.
            Агенты у меня запущены 8.2 с портом 2540, 8.3 — 1540.
            Вот пример.
            Запускаю консоль 8.3, выдается такая ошибка (Скриншот 1).
            Запускаю консоль 8.2, всё нормально.
            Параметры центрального сервера при этом следующие (Скрин 2).
            Теперь если поменять в параметрах центрального сервера порт на 1540, при запуске 8.3 ошибки не будет, а при запуске консоли 8.2 ошибка (скрин 3).

            Получается, что центральный сервер у меня и в том, и в том случае один (это текущий компьютер), и при изменение порта для него в одном кластере он автоматом меняется и в другом кластере.

            Не знаю, насколько правильно объяснил…

            %D0%A1%D0%BA%D1%80%D0%B8%D0%BD1.png%D0%A1%D0%BA%D1%80%D0%B8%D0%BD2.png%D0%A1%D0%BA%D1%80%D0%B8%D0%BD3.png

            • Андрей Бурмистров

              …
              (текст комментария доступен только участникам Мастер-группы)

              • yamarsel

                Андрей, а я и не смотрю одновременно. Запускаю их по очереди…

                • Андрей Бурмистров

                  …
                  (текст комментария доступен только участникам Мастер-группы)

  2. yamarsel

    Вопрос по программному лицензированию.
    Допустим у меня платформа 8.2 и есть кластер серверов, в нем 2 рабочих сервера 1С. Они распределяют нагрузку между собой, кроме того — входят в группу резервирования.

    По видеоуроку — программная лицензия привязывается к серверу 1С.

    Принципиально ли важно, к какому из двух имеющихся серверов привязать данную лицензию?

    И будет ли у меня работать резервный кластер, если сервер, на котором установлена лицензия, «сгорел».

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  3. yamarsel

    Вопрос по уровню отказоустойчивости.
    В видео был рассмотрен пример, что у нас один центральный сервер и 2 рабочих. При это мы установили уровень отказоустойчивости равным 1.

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

    В связи с этим вопрос. А как бы изменилась ситуация, если бы мы указали в свойствах кластера уровень отказоустойчивости, равный 2? А если бы указали 0?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • yamarsel

        Андрей, я не совсем понимаю, на что всё-таки влияет данной свойство — УО?

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

        Поясните, пожалуйста, ещё раз, в чем будет принципиальная разница между следующими вариантами событий:
        1) В свойствах кластера УО = 0;
        2) УО = 1;
        3) УО = 2;

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • yamarsel

            Я правильно понимаю, что если мы поставили УО = 0 и выходит из строя рабочий сервер, то работа всех пользователей, которые работали на этом сервере, аварийно завершается.
            А если бы мы поставили в настройках УО = 1, то работа пользователей аварийно бы не завершилась, просто они переводятся на другой рабочий процесс?

            • Андрей Бурмистров

              …
              (текст комментария доступен только участникам Мастер-группы)

  4. hjkl

    Добрый вечер.

    Насколько я понимаю ситуацию то лучше вообще отключить пересчет актуальных итогов при записи данных в регистры поскольку в таблице итогов регистра накопления/бухгалтерии остатки хранятся на начало каждого месяца и если нужен например остаток на некое число какого-нибудь месяца то платформа получит остаток на первое число этого месяца из таблицы итогов и потом досчитает по таблице движений до нужного числа месяца.

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

    Единственное меня смущает то что будет в случае если нужно получить актуальный остаток — например отчете на скд не указали дату и платформа обратилась актуальным остаткам регистра.

    Андрей, а что вы думаете по этому поводу?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  5. Glukhov.Sergey

    1. Скажите пожалуйста, процессы rphost 64-битного сервера 1С 8.1 тоже являются многопоточными как и у 8.2? Об этом можно где-нибудь почитать?

    2. С Вашей точки зрения имеет смысл конвертировать большие высоконагруженные базы с сервера 8.1 на сервер 8.2 оставив режим совместимости с 8.1 (без адаптации баз, сильно переписанные УПП, одновременно в одной базе может быть до 350 пользователей). Предположительно как это повлияет на быстродействие на том же оборудовании: увеличится/уменьшится/останется без изменений?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  6. Александр

    Добрый день! У меня несколько вопросов:
    1) В настройках кластера можно указать интервал перезапуска рабочих процессов. Как можно понять в какой момент времени все же случится перезапуск процессов? И как можно свести обрыв соединений к минимуму, если в данный момент будет открыта длительная транзакция, например выполняется расчет себестоимости выпуска?
    2) Имеет ли смысл, по одному регистратору добавлять записи в регистр бухгалтерии маленькими порциями, или будет лучше сделать один набор записей на 1 млн строк и выполнить НаборЗаписей.Записать() ?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  7. AveryanovAlexey

    8.2 Резервирование кластеров:

    1.В случае падения основного кластера пользователи автоматически переключаться на Server2, это понятно. Но как новые пользователи, которые будут входить в базу, когда не работает кластер AND-SERVER2008 смогут подключиться к Server2? У них ведь в строке подключения написано имя первого сервера и о существовании второго резервного кластера их клиент 1С просто не знает.

    2.Механизм резервирования в 8.2 вполне может использоваться аналогично механизму отказоустойчивости в 8.3, когда в кластере назначаются несколько главных серверов?

    3.Развивая тему отказоустойчивости, есть механизмы настройки резервирования сервера СУБД? Получается на уровне сервера 1С мы можем настроить резервные машины. Но СУБД остается единственным и неповторимым. И в случае выхода из строяего его, вся система перестанет работать.

    4.На что влияет параметр уровень отказоустойчивости в 8.3? Он справочный? По сути УО определяется не этим параметром, а наличием центральных серверов. Я правильно понял?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  8. AveryanovAlexey

    Как настроить перезапуск рабочих процессов ночью?

    1.Я правильно понимаю, что во время перезапуска рабочего процесса (когда по таймеру пришло время рестартовать), все кто делал какую-то операцию и не закончил (имеют соединение с процессом), будут отключены с ошибкой? А те кто просто сидел и смотрел на открытый документ даже не заметят этого?
    Я говорю сейчас про 8.2

    2.Чтобы такого не было как настроить перезапуск рабочих процессов ночью? Я так понимаю таймер автоматически начинает отсчет со времени последнего перезапуска Ragent или установки параметра кластера «Перезапускать через…»? И если я этот параметр поставлю в 15:00, значит каждый день в 15:00 рабочие процессы дружно будут перезапускаться, когда идет самая активная работа.
    И если я даже поставлю этот параметр специально в 02:00 ночи, то в следующий раз, когда физический сервер по любым другим причинам перезагрузится в 14:00 дня, рабочие процессы опять начнут перезагружаться в 14:00 в самый разгар работы?

    Или я не прав?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  9. AveryanovAlexey

    Режим «Использовать, как резервный».

    В уроке вы говорите, что такой процесс начинает использоваться крайне редко, когда обычные РП не могут стартовать. А так он обычно просто «висит» как неактивный.

    У меня по неопытности такой процесс используется. И на практике получается не так как вы рассказывали. На 50 пользователей работает 3 процесса: 2 обычных и 1 резервный. Но ведет себя этот резервный процесс совершенно по-другому.
    Он действительно начинает работать не сразу. Но через какое-то время он успешно забирает на себя свою «порцию» подключений, как обычный «нормальный» процесс.

    Привожу скриншот, на котором видно, что все 3 РП (2 «использовать» и 1 «резервный» разобрали между собой по 17-18 подключений). У каждого из них одинаковая допустимая производительность (нагрузка распределена равномерно я так понимаю)

    Платформа 8.2. Разрядность: x64. Процессы рестартуют раз в 24 часа

    P.S. Кстати, я так понимаю при нагрузке 50 пользователей 2 процесса «использовать» вполне достаточно?

    %D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%8082.jpg

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • AveryanovAlexey

        Время перезапуска выключенных стоит 90 секунд. Значит спишем такое поведение на конкретный релиз. Поистине пути «1С» не исповедимы ))

        %D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80.jpg

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • AveryanovAlexey

            Да я тоже понял, что смысла в резервном процессе нет. остановлю его совсем. Пусть останется 2 рабочих процесса и хватит на 50 пользователей.
            Спасибо!

  10. AveryanovAlexey

    Как распараллелить проведение документа по разным наборам записей?

    1.Как это сделать технически? Я правильно понимаю, что в ОбработкеПроведения вызов 8 фоновых заданий не получится, так как в рамках одной транзакции 8 параллельных процессов не запустятся? Нужно проведение документа делать «извне»? Например из обработки, а само проведение по определенному набору (порции) должно быть описано в процедурах общего модуля, которые и выполняются фоновым заданием?

    2.Часто есть регламентные задания закрытия месяца и расчета себестоимости, которые выполняются, очень долго. Можно ускорить этот процесс распараллеливанием? Например, расчет себестоимости в УПП? Запустить расчет себестоимости по разным номенклатурам в параллель?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  11. михаил

    Решал вопросы по тестированию на профессионала наткнулся на такой вопрос.
    По какой формуле рассчитывается максимальный уровень отказоустойчивости?
    По логике вещей если нужно максимальный уровень то это ответ 2 но тест сказал что это не верно.
    Уровень отказоустойчивости = Количество центральных серверов кластера — 1
    Уровень отказоустойчивости = Количество серверов кластера — 1.
    Уровень отказоустойчивости = Количество рабочих серверов кластера / Количество центральных серверов кластера.
    Уровень отказоустойчивости = Количество рабочих серверов кластера / (Количество центральных серверов кластера — 1)

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • михаил

        А не ожидается разбор «таких» ответов с теста на профессионала?А то мое мнение с составителями тестов не сходится не только в вопросах связанных с платформой(Все таки они разрабы им виднее ) но и в некоторых определениях. Шибко они как-то расплывчато их дают, есть возможности в трактовке и зачастую просто отвечаеш не по принципу вот это точно верно и других вариантов быть не может, а по принципу составитель тестов имел виду скорее всего вот это задавая такой вопрос.

        • Евгений Гилев (Мастер-тренер)

          Добрый день, Михаил!

          Будут разборы ответов в новом курсе по оптимизации.

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

          Деталей не раскрываю, премьера этой осенью :)

          • михаил

            У меня что то совсем ум за разум зашел Решал вопросы с http://dist.edu.1c.ru попался вопрос
            Соединять подзапросы с реальными таблицами, а также подзапросы с подзапросами:

            1)не ошибка.
            2)не следует. Правильно сначала результат подзапроса записывать во временную таблицу, индексировать эту временную таблицу по полям соединения, а затем уже соединять.
            3)не следует. Правильно сначала результат подзапроса записывать в виртуальную таблицу, индексировать эту виртуальную таблицу по полям соединения, а затем уже соединять.
            4)верны ответы 2 и 3.
            Мало того правильного ответа с моей точки зрения тут нет.(Он должен звучать примерно как: Нужно заменить подзапрос на временную таблицу получить данные проиндексировать по полям соединения, а уже затем соединять). Но и самое близкое к этому ответ 2 оказался не верен.

            • Андрей Бурмистров

              …
              (текст комментария доступен только участникам Мастер-группы)

          • Николай Гунин

            Евгений, добрый день.

            Для тех кто не попадет на премьеру, будет обновление курса?

            • Евгений Гилев (Мастер-тренер)

              Добрый день, Николай!

              По обновлению текущего курса пока нет информации.

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

              В любом случае нужно дождаться осени, когда будут озвучены все детали :)

    • Николай Гунин

      http://its.1c.ru/db/v83doc#bookmark:cs:TI000000036

      >> Уровень отказоустойчивости = Количество серверов кластера — 1.
      В кластере нет просто сервера. Он или центральный, или рабочий, или все в одном

  12. Масленников Евгений

    Добрый день!
    Андрей, подскажите пожалуйста, есть ли какие-либо отличия в настройке серверов 1С 8.3 версии ПРОФ и КОРП? В частности, изменение настроек количества рабочих процессов.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • Масленников Евгений

        Этот вопрос встречается в тестах 1С:Профессионал по технологическим вопросам, который стал обязательным перед сдачей 1С:Эксперт. У нас в организациях лицензия ПРОФ. Возможность указывать количество баз и соединений на процесс есть.

        На сайте 1С (http://www.1c.ru/news/info.jsp?id=16733) есть только следующая информация, но никакой конкретики по текущему вопросу:

        Сервер уровня КОРП «1С:Предприятия 8.3» предоставляет пользователю расширенные возможности по сравнению с «обычным» 64-разрядным сервером:

        фоновое обновление конфигурации базы данных;
        дополнительное управление распределением по рабочим серверам кластера в разрезе информационных баз, видов клиентских приложений и фоновых заданий:
        сервисов кластера;
        соединений с информационными базами;
        гибкое управление нагрузкой в кластере:
        безопасный расход памяти за один вызов;
        количество ИБ на процесс;
        объем памяти рабочих процессов, до которого сервер считается производительным;
        максимальный объем памяти рабочих процессов;
        стратегия балансировки (по памяти, по производительности);
        внешнее управление сеансами;
        профили безопасности;
        возможность обновления тонкого клиента с сервера;
        возможность публикации списка баз и обновлений тонкого клиента через http.

        %D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%208.3%20%D0%9F%D0%A0%D0%9E%D0%A4.png

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

        • Николай Гунин

          С партнерского форума Плякин Александр (1С, Москва)
          https://partners.v8.1c.ru/forum/topic/1269523

          Цитата из приведенного вами инфописьма:

          Выпущенные ранее клиентские и серверные лицензии «1С:Предприятия 8» остаются в продаже по прежним ценам, но не предоставляют права использования указанного дополнительного функционала. Перечисленные функциональные возможности разрешается использовать только при наличии у пользователя серверных и клиентских лицензий уровня КОРП.

          Другими словами, возможности, перечисленные в инфописьме, правомочно использовать только при наличии лицензий уровня КОРП. Технически сервер КОРП и не КОРП — не различаются. В документации описаны все возможности сервера, т.е. уровня КОРП.

  13. михаил

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

    %D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.jpg

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  14. poloskovi

    Не получается подключить второй рабочий сервер в кластер 8.3.
    В рабочем процессе POLOSKOV_1 не стоит флажок «Активен». Базы стартуют, но все соединения идут на основном сервере. В чем может быть дело?
    Скриншот сделан на компьютере POLOSKOV.

    %D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%202%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0.jpg

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  15. poloskovi

    32 урок. На слайде написано, что выключенные процессы рекомендуется останавливать через 3600 сек., а в тексте говорится, что 120 сек. Как все-таки лучше?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  16. poloskovi

    Ваша рекомендация в уроке 32 про то, не стоит переводить большие системы на 8.3, уже устарела или все еще актуальна?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  17. poloskovi

    Что будет, если в 8.2 выйдет из строя рабочий сервер, на который перемещен сервис фоновых заданий? Фоновые задания не смогут запускаться, или этот сервис автоматически уйдет на центральный сервер?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  18. imagik

    Вопрос по расположению файла logcfg.xml. Если я не терминальном доступе расположу этот файл в нужную папку, но сервер 1С у меня будет в другом месте, то логи писаться не будут?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  19. imagik

    И еще вопрос по лицензированию:
    — при переносе сервиса лицензирования на отдельный компьютер (сервер) не достаточно вынести только требования назначения функциональности «сервис лицензирования»
    — нужно еще добавить «сервис сеансовых данных» — не назначать ?
    иначе с этого сервера будут забираться лицензии и на него назначаться rphost?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  20. imagik

    Как у Вас получается сэмулировать подключение клиента на определенный сервер? Т.е. чтобы клиент подключался не на сервер 1, а на сервер 2 ?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  21. imagik

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

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

  22. imagik

    Если у меня два сервера: центральный и рабочий. Можно ли управлять центральным сервером (его соединениями и др.) из консоли на рабочем сервере? Т.е. устанавливаю оснастку на рабочем сервере, буду ли я видеть центральный сервер и могу ли я определить, что центральный сервер работоспособен? можно ли добавить рабочие процессы на центральном сервере с рабочего сервера?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  23. imagik

    Вопрос по показателю «Безопасный расход памяти за один вызов» — что будет, если этот порог будет превышен? что вернется пользователю в результате?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  24. imagik

    Андрей, хочется еще раз уточнить про лицензирование сервера 1С.
    Есть два сервера, входящих в кластер серверов. Правильно ли я понимаю, что:
    Для версии 8.3 можно назначить второй сервер сервером лицензирования и туда поместить все лицензии (и клиентские и в том числе лицензию на сервер 1С)?
    Для версии 8.2 такой возможности нет, и все лицензии должны быть на первом сервере? точнее, лицензия на сервер должна быть на сервере 1с, а клиентские лицензии могут быть где угодно?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • imagik

        Спасибо)
        тогда еще одно уточнение для понимания:
        — допустим, в кластер серверов входят 5 рабочих (физических) серверов. На каждом из них запущены rphost. Тогда требуется 4 лицензий на сервер? т.е. на каждый сервер требуется лицензия на сервер 1С ?

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

  25. dubdanseitrp

    Добрый день!
    У меня вопрос про параллельную запись элементов справочника. В случае записи в фоновых заданиях в транзакции, не будет ли эскалация блокировок 1С?
    Вроде говорили, что в 8.2 эскалация происходит при блокировке 20000 записей. Но при параллельной записи в 5 фоновых заданиях по 20 т.записей эскалации на весь справочник не происходит. Может я что-то не так понял?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  26. mmch

    Андрей, а получится сделать такую настройку кластера серверов 1с?

    Поднимаем кластер, добавляем в него дополнительный сервер.
    Этот дополнительный сервер запускаем с ключом отладки.
    И если вдруг понадобится проверить в отладчике для рабочей базы модули выполняемые на сервере, подключаемся на второй сервер и выполняем отладку…

    Получиться?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • imagik

        Андрей, а как технически запустить еще одну службу? И при перезагрузке сервера (физического) они не будут конфликтовать друг с другом?

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • imagik

            «Рекомендую эту разработку»
            Андрей, а какую?

            • Андрей Бурмистров

              …
              (текст комментария доступен только участникам Мастер-группы)

  27. a.perminov

    Здравствуйте, Андрей.

    Сейчас столкнулся на проекте со сложностями. Не могли бы вы прокомментировать?

    Управление торговлей, редакция 11.1 (11.1.6.24) 8.3.5.1248

    Боевой сервер: Xeon E3-1270E2 3.5Ghz, 32 RAM, SAS 10 RAID 1 Tb

    1С Сервер 64, SQL2012

    Настроено 50 баз РИБ «С отбором по подразделениям», время жизни базы 5 месяцев.

    Встала задача переформировать все 50 баз.

    Буду пробовать на файловом варианте, т.к. думаю что это будет быстрее (1cv8.1cd = 16ГБ) .

    Для этого «мучаем» копию базы на тестовом стенде.

    i7-4770 3.4 Гц, 16 ОЗУ, Sata 512Гб

    Делаем это через заранее сформированную «болванку», в которой подменяем параметры обмена и из болванки получаем периферийную базу без документов, но со всеми справочниками. Далее в ЦБ помечаем к выгрузке все документы для данной базы и типовыми средствами выгружаем/загружаем все документы.

    Всего к выгрузке помечается от 20 000 до 60 000 документов для каждой базы.

    Время затраченное на регистрацию, выгрузку, загрузку составляет, примерно 2-20 часов, что при количестве 50 баз не совсем быстро. В идеале хотелось бы уменьшить время до 0.5-2 часов

    Что уже пробовал:

    1) PrimoRAMDisk

    базе на РАМ диск и кеш 1С на рамдиск, смотрел Process Monitor`ом, все обращения происходят на РАМ диск.

    использовал для запуска батник

    @echo off
    set tmp=z:\Temp
    set temp=z:\Temp
    set USERPROFILE=z:\1CProfile
    start 1cestart.exe

    На тестовой базе (пока нет возможности попробовать на рабочей) эталонное время регистрации документов 3 мин, если использовать РАМ диск, то 2,5 мин, т.е. 17%.

    Мен казалось, что разница должна быть больше…

    upd:файловый вариант работает значительно медленнее SQL. Буду продолжать тесты на SQL.

    2) Многопоточность не прокатывает, пишет «В этой транзакции уже происходили ошибки». Думается мне это запись в таблицы изменений РИБ отваливается по ожиданию.

    Вопросы:

    1) Как ускорить эти операции?

    3) Что можно еще попробовать?

    Ссылка на тему на партнерском форум.
    https://partners.v8.1c.ru/forum/message/1309513?onlyMyThemesInput=true#m_1309513

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  28. Игорь Игнатов

    Здравствуйте, Андрей!
    Попытался 2 рабочих процесса перевести в неактивный режим с целью удалить их. Столкнулся со следующей проблемой (изображение прилагается). У этих 2-х РП установил свойство «Использование» в значение «Не использовать».
    У кластера серверов для свойства «Выключенный процессы останавливать через» установил значение 120 сек. Истекли 2 минуты, но эти 2 РП так и не перешли в состояние «Активен» = Ложь.
    Это верное поведение кластера серверов 1С 8.2?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  29. banzai

    Вопрос по резервированию кластеров 8.2, при выходе из строя главного сервера как новые клиенты узнают адрес второго кластера? Я так понимаю второй кластер спасет только уже подключенных клиентов, либо клиентов, которые хотя бы раз подключались к основному кластеру и он передал информацию о существовании запасного кластера. А если клиент ни разу не запускал базу и в строке подключения указан вышедший из строя сервер — будет ошибка подключения?

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

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • banzai

        Как можно решить эту проблему? Поидее если использовать метод с прописыванием нескольких серверов в строке подключения, то проблема решается? При условии что это будет работать без глюков =)

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

  30. ilyay

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

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • ilyay

        Контроль уникальности как раз и вызывает исключение в одном из потоков.

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

  31. IvanSkrobot

    Андрей, добрый день!
    1)При переносе лицензирования на отдельный сервер, необходим ли дополнительный серверный ключ?
    2)Не до конца понятна работа с центральными серверами на 8.3 (ввиду отсутствия опыта). Если я назначаю несколько серверов центральными, могу ли в строке подключения указывать имя_любого_сервера:порт?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • ilyay

        На курсах в 1С говорили, что серверный ключ нужен только там, где работает rphost. То есть, если там только ragent и rmngr, то серверный ключ, получается, не нужен. А выдача лицензий — функция rmngr.

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

  32. Игорь

    Андрей, а можно ли привести какие-то примеры — какие измерения можно добавить в последовательность, чтобы при восстановлении, можно было бы проводить документы параллельно? И может быть бы видели, в каких типовых это сделано?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • Игорь

        А как в описанном вами случае происходило правильно списание по партиям тогда? Ведь что получается (как я себе представляю): если все проводится в разрезе договоров, тогда нет четкого проведения в хронологическом порядке прихода-расхода? Если в типовой БП есть последовательность, в ней есть измерения Организация, то да, понятно, что в пределах одной организации мы можем распараллеливание в общем случае именно в разрезе Организаций. А как распараллелить в разрезе именно, как вы пишите, договоров? Ведь, например, в пту — один контрагент у него один договор, в рту — другой, у него совершенно другой контрагент. Но чтобы по партиям в рту списалось все правильно, нам нужно восстановить ГП до рту, т.е. перепровести все приходы-расходы.

        А вы, кстати, правильно угадали насчет БП, я именно в этом ключе и спрашивал, как можно именно в этой конфе ускорить восстановление ГП :)

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • Игорь

            Спасибо за ответ, Андрей! Со статьей ознакомился. Как я и предполагал, в описанном вами случае, такое возможно из-за особенностей бизнес-процессов в этой конкретной конфигурации для именно этого заказчика. Иначе, как кажется, разработчики типовой сами бы такой функционал запилили. А вообще интересно было почитать, какая идет борьба за каждый час восстановления ГП :)

            • Андрей Бурмистров

              …
              (текст комментария доступен только участникам Мастер-группы)

  33. DarkAn

    Андрей, доброе время суток!

    Возник вопрос с распараллеливанием…
    Написал процедуру выполняющую запись проводок по одному документу с помощью фоновых заданий. В фоновом задании только одна строка
    НовыйНаборЗаписей.Записать(Ложь);
    НовыйНаборЗаписей уже подготовлен и приходит как параметр процедуры.

    Но вот только проводки не появляются и ошибок ни каких не обнаруживантся. А если выполнить данную строку вне фонового задания, то все ок.

    при том, что время выполнения действительно меняется:
    Проведение НЕ параллельно: Время проведения — 47 сек.
    Проведение параллельно: в 1 потоков. Время проведения — 97 сек.
    Проведение параллельно: в 2 потоков. Время проведения — 21 сек.
    Проведение параллельно: в 3 потоков. Время проведения — 7 сек.
    Проведение параллельно: в 4 потоков. Время проведения — 5 сек.
    Проведение параллельно: в 5 потоков. Время проведения — 5 сек.
    Проведение параллельно: в 6 потоков. Время проведения — 5 сек.
    Проведение параллельно: в 7 потоков. Время проведения — 4 сек.
    Проведение параллельно: в 8 потоков. Время проведения — 4 сек.
    Проведение параллельно: в 12 потоков. Время проведения — 4 сек.
    Проведение параллельно: в 35 потоков. Время проведения — 4 сек.

    Не подскажите в чем может быть дело???

    Ошибку нашел, передавал на сервер мутабельное значение. После того, как переписал с передачей на сервер Таблицы значений — все заработало, но вот результат меня смутил :(

    Проведение параллельно: в 8 потоков. Время проведения — 163 сек.
    Проведение параллельно: в 4 потоков. Время проведения — 215 сек.
    Проведение параллельно: в 12 потоков. Время проведения — 133 сек.
    т.е. видно, что параллельные потоки ДАЮТ ускорение, но вот с эталонной записью (Проведение НЕ параллельно: Время проведения — 47 сек.) они весьма плохи. Куда еще можно копнуть? или глянуть?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • DarkAn

        Да решить, то хочется простую задачу. Если в документе много проводок, то их хочется писать параллельно :)
        Например, расчет себестоимост проводок 18к+ и хочется писать их не в один поток, а распараллелить. Чтоб документ проводился быстрее.

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • DarkAn

            Спасибо :)
            Я пока не считаю расчет себестоимости проблемой, он у нас проводится за 15 мин (47 сек — это записываются скопированные проводки этого документа). Просто хотелось на более менее рабочем примере попробовать провести распараллеливание, а не создавать искусственный тест, на котором бы все летало. Вот и взялся за проводки данного документа. Но результат пока не принес результатов.

            По поводу железа — все в порядке: 48 ядер в среднем загружены на 3-4 процента, ОЗУ 128 Гб, загружена на 50% принудительно настройкой SQL. Диски в RAID на 8 дисках SSD для базы и на 4 для логов. Похожий сервер и для сервера 1С.

            Ок, поэкспериментируем на больших объемах :)

  34. vnr2

    Андрей, здравствуйте.

    Вопрос по программным лицензиям. Документация 1С говорит, что параметры лицензии привязаны к «Списку процессоров и их параметрам». Подскажите, пожалуйста, осталась ли привязка программной лицензии к частоте процессора? Знаю, что в 8.2 такая привязка была, и возникали проблемы с виртуальными серверами. Как обстоят дела в 8.3? К каким параметрам процессора привязана лицензия?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  35. alexlap

    Добрый день:
    Про уровень отказоустойчивости: В дополнительных материалах «подготовка к сертификации» есть вопрос №18 где приведена формула:
    УО = Общее количество серверов – Количество центральных серверов – 1
    Что очень странно и противоречит ИТС где написано:
    Количество центральных серверов = УО + 1, что выглядит более логично.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • alexlap

        Совсем стало не понятно.
        Почему нельзя получить УО по формуле ИТС?
        УО = Количество центральных серверов — 1 нет?
        Или это разные УО в формуле ИТС и вашей?
        Кстати в контексте вашей формулы центральный сервер считается рабочим? Как понимать формулировку вопроса «Есть 3 рабочих сервера и 2 центральных» — как 3 рабочих из них 2 центральных или рабочий сервер с признаком центральный в этом контексте не считается рабочим?

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • IvanSkrobot

            Как считается количество серверов для формулы «УО = Общее количество серверов – Количество центральных серверов – 1». Надо ли считать отдельно рабочие и центральные сервера? Если у меня 3 сервера, и все три центральные и рабочие, УО = 6-3-1?

            • Андрей Бурмистров

              …
              (текст комментария доступен только участникам Мастер-группы)

  36. mmch

    Андрей, подскажите пожалуйста какова может быть причина возникновения «Пустых» сеансов, т.е. сеанс какое-то время работал, потом отключился, но в консоле он продолжает висеть…
    Почему они могут возникать, и сами не закрываются? как с этим бороться?

    1С:Предприятие 8.3 (8.3.5.1231)

    48f337657788d426f51de002065f8723.jpg

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • mmch

        Вреда нет, но через 20 минут они не закрываются… приходится удалять руками

  37. Дрыганец Сергей

    Здравствуйте.
    При схеме Ц.Сервер + Р.сервер. Что произойдет при обновлении версии платформы на Р.С. (не совпадает с версей Ц.С.)? Выпадет ли он из кластера? Восстановится ли он автоматом в кластер после обновления версии на Ц.С.?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  38. Simol

    Попробовал вместо периодичности перезапуска рабочих процессов установить время явно как в одном из комментариев 15:46
    В результате при повторном открытии свойств там просто 15. И каждые 15 секунд перезапускается.
    Почему у меня явное время не сработало, хотя по ответу на комментарий получается, что так можно

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • Simol

        Это самое нижнее сообщение на этой странице. Там действительно говорится про момент времени установления, а не про устанавливаемое значение.

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

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

  39. spidem

    Приветствую!
    Как-то можно понять/спрогнозировать адекватное время мягкого переключения пользователей в другой процесс?

    Из-за утечек памяти rphost-ы разбухают неимоверно, ну и пользователи иногда зависают так, что сброс сеанса/соединения не помогает. Приходится останавливать процесс, на котором такой пользователь завис. Хочется, чтобы остальные пользователи, работающие в это время на этом же процессе, не вылетали по истечении параметра «Выключенные процессы останавливать через».

    Есть какая-либо метода расчета, или только эмпирический подход с последующим анализом ТЖ по соответствующему событию?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • spidem

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

        В курсе Вы говорите о том, что стоит останавливать выключенные процессы через 120 секунд. На слайде же фигурировала цифра 3600. Потому и спросил.

        Для себя определил метод уменьшения. Ставлю 120 секунд, и наблюдаю за процессом и пользователями. После перезапуска по превышении допустимого объема памяти, парсю ТЖ отключенного процесса на предмет отключения пользователей. Если отключился только зависший пользователь, то разбираю его контекст. Уменьшаю время выключения, и выхожу на следующий виток..

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • spidem

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

  40. wins

    По курсу везде говорится — что рекомендуется 2 рабочих процесса.
    Не нашел нигде в курсе — описание, как сделать 2 рабочих для платформы 8.3 :)

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  41. StaticUnsafe

    Здравствуйте. В примере по распараллеливанию имело ли смысл для большего ускорения выполнять изменение цены порции элементов справочника в одной транзакции?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  42. igor@kozlitin.net

    Андрей,

    Хотел задать Вам вопрос по поводу лицензирования серверов. Если мы хотим сделать кластер серверов из двух компьютеров, то нам необходимы две серверные лицензии или же лицензия нужна одна на кластер? Заранее спасибо.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • mmch

        т.е. методика с выносом сервера лицензирования на отдельный компьютер применима только к клиентским лицензиям? и если изменится параметры центрального сервера, то лицензии все равно слетят?

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

  43. adelpieroff10

    Здравствуйте! С чем может быть связано, что в 8.3 любые действия с базой, выполняющиеся на одном рабочем процессе, выполняются в разы быстрее, чем те же действия, но на других рабочих процессах? Система сама создала несколько рабочих процессов. Как расследовать такую проблему?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  44. Serg82

    Можно как-нибудь посмотреть, что делают процессы rmngr и ragent (кластер на 8.3.5)? Случайно заметил, что эти два процесса нагружают процессор до 60% длительное время (rmngr — 30% и ragent — 30%), причем с базой в этом кластере никто не работает (база тестовая). После перезагрузки сервера все стало нормально (в пятницу нагрузка была, перезагружать не стал, в понедельник так же эти процессы нагружали процессор). На этом сервере так же установлен сервер 1С 8.2.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

    • GilevSlava

      Запретите работы всем фоновым и регламентным заданиям в этом кластере для всех баз. Скорее всего дело в них. Обычно загружает соединение (по консоли сервера 1С) у которого высокая динамика изменения параметров (памяти, записи и чтения диска). Но это конечно косвенные признаки.
      Если ДЛЯ ЛОКАЛИЗАЦИИ сделать 1 рабочий процесс на одного пользователя, то наверно поймете кто виновник.

  45. pyatkin

    Добрый день, Андрей.

    Вопрос по четвертому блоку урок 6 (Ускорение записи в регистры. Описание).

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

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • pyatkin

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

        PS.Нашел ПересчитатьИтоги(), но тогда возникает вопрос после выполнения УстановитьИспользованиеИтогов(Истина) надо или нет выполнять ПересчитатьИтоги().

        • Андрей Бурмистров

          …
          (текст комментария доступен только участникам Мастер-группы)

          • pyatkin

            ПересчитатьТекущиеИтоги() надо потом выполнять или нет?

            • Андрей Бурмистров

              …
              (текст комментария доступен только участникам Мастер-группы)

              • pyatkin

                Спасибо.
                Наставники так и говорили, что, если ни что не помогает, прочти наконец инструкцию. Но документация 1С, часто не многословна, поэтому и заглядываю туда редко.
                Еще раз, спасибо.

  46. gosn1ck

    Добрый день, Андрей.
    с ускорением записи в регистр огромного количества записей всё понятно, но какие шаги\меры предпринять (либо что-то проверить) для ускорения записи набора в котором всего 10 записей? время записи доходит до 6-7 секунд. ситуация воспроизводится когда пользователь проводит документ в монопольном режиме с полными правами и без rls.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  47. Михаил Козлов

    Андрей, здравствуйте. Посмотрел видео и возник вопрос. Каким образом Вам удалось запустить сервера 8.2 и 8.3 на одном компьютере на одном и том же диапазоне портов и одних и тех же портах кластера. При этом еще и консоли администрирования показывали только «свои» (8.2 или 8.3) серверы. Или я невнимательно смотрел? У меня на практике так сделать не удалось, пришлось разносить по портам.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  48. crabzzy

    Андрей, здравствуйте.
    Хотел спросить по механизму отложенного проведения.
    Например, в базе УПП у нас бухгалтера перепроводили документы за месяц не только ночью, но и днём.
    В это время другие бухгалтера проводили документы вручную и получали ошибки блокировок и взаимоблокировок (режим управления блокировками, опять же: Автоматический, да и в режиме совместимости с 8.1 работало).
    Руководство обращалось в компанию 1С-Рарус (Вячеславу Гилёву) на диагностику этой базы. В ходе диагностики нам поступило предложение перевести из режима совместимости с 8.1, перевести на управляемые блокировки и (специалист: Дмитрий Кологреев) сделать отложенное проведение фоновым заданием документов.
    Я не совсем понял ньюансы этого механизма. На тот момент у руководства не осталось вопросов, а у меня остался.
    Вы знакомы с этим механизмом? (идея механизма — что бухгалтера как то перепроводят месяц, я думаю, прошедший период, а другие бухгалтера проводят документы текущего периода, видимо, действительно можно, как то распараллелить — сделать регламентное задание, которое проводили бы документы по очереди, а сами документы просто клались бы в некую очередь — регистр сведений, например).

    Спасибо!

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

  49. lexbond

    Модуль 5. Урок 12. Распределение нагрузки между серверами.
    Вы говорите, что например перенос сервиса фоновых заданий позволит выполнять фоновые задания на указанном сервере, и что можно даже под это выделить отдельный компьютер.
    Моя практика показывает, что перенос сервиса приводит только к тому, что на соотв. рабочем сервисе начинают работать планировщики заданий, но сами фоновые задания могут при этом распределяться по всем рабочим серверам.
    У нас стояла задача вынести именно сами фоновые задания на отдельный компьютер. В 8.2 решить ее не получилось.
    Поправьте, если я не прав.

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

      • lexbond

        Спасибо. Вы мне ответили (на стартовой странице курса), что вопросы надо размещать здесь :) Страница появилась, разместил.

  50. konst5

    Здравствуйте!
    После просмотра урока остались следующие вопросы.

    1) Если при создании рабочего сервера указать максимально допустимый объем памяти, то что будет с рабочими процессами при достижении ограничения? Рабочие процессы будут перезапущены или новые пользователи не будут направляться на этот сервер? Если второе, то что произойдет с оставшимися пользователями, если какой-то из них начнет выполнять тяжелый запрос, для которого требуется много оперативной памяти?

    2) Насколько я понимаю, при добавлении новой базы данных на центральном сервере вручную добавлять ее на остальных центральных серверах не нужно, она добавится автоматически?

    3) Рекомендуемый интервал перезапуска рабочих процессов 86400 с, но возможности указать конкретное время перезапуска нет. Правильно ли я понимаю, что если я установлю этот параметр, скажем, в 15:46, то рабочие процессы будут перезапускаться каждый день в это время? И если пользователи в данный момент времени будут выполнять транзакции, то у них появится ошибка? Если мне надо, чтобы процессы перезапускались в 02:00, то параметр мне надо установить именно в это время?

    4) Если в кластере несколько серверов (или центральных серверов), на каком из них нужно создавать файл logcfg.xml для включения технологического журнала? Будут ли в ТЖ попадать данные пользователей, работающих на каком-либо сервере, если logcfg.xml указан в каталоге другого сервера? Что будет, если на каждом сервере (центральных серверах) создать свой logcfg.xml?

    • Андрей Бурмистров

      …
      (текст комментария доступен только участникам Мастер-группы)

Комментарии закрыты