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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Andrefan

    Добрый день. Вопрос по отключению итогов при проведении документов. Правильно ли я понимаю, что данный метод применим для тех документов, где не нужен контроль остатков? Ведь если контроль нужен, то как правило в обработке проведения идет проверка остатков и обращения к виртуальным таблицам, которые не доступны при отключенных итогах. Т.е. данный метод никак не претендует на универсальность?

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


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

  2. kseniya

    Добрый день!
    Также есть вопрос про транзакции в фоновых заданиях.
    Происходит распараллеливание операций, стандартно:
    /Начало цикла/
    /Создание фоновых заданий/
    /Конец цикла/
    Если МассивЗаданий.Количество() > 0 Тогда
    Попытка
    ФоновыеЗадания.ОжидатьЗавершения(МассивЗаданий);
    Исключение
    КонецПопытки;
    Далее самом фоновом задании установлена явная транзакция и блокировка на часть справочника (при управляемом режиме блокировок конфигурации):
    НачатьТранзакцию();

    Блокировка=Новый БлокировкаДанных;
    ЭлементБлокировки=Блокировка.Добавить(“Справочник.Номенклатура”);
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение(“Ссылка”, МассивНоменклатуры );
    Блокировка.Заблокировать();

    Для каждого Эл из МассивНоменклатуры цикл
    СпрОбъект=Эл.ПолучитьОбъект();
    //изменение элемента справочника
    СпрОбъект.Записать();
    КонецЦикла;
    ЗафиксироватьТранзакцию();

    В таком случае обработка параллельного изменения реквизитов быстро завершается, но объекты остаются не измененными. При этом фоновые задания остаются висеть, сеансы видно через консоль кластера. Получается что обработка не дожидается выполнения заданий? Почему это происходит? Без явной установки транзакции данный код отрабатывает дольше, но изменения записываются, данные меняются.
    Если фоновые задания выполняются в разных сессиях, то транзакции также разные, верно?
    Установлена платформа 8.3 и MSSQL 2014

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


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

  3. Andrefan

    Добрый день.
    Если в кластере несколько рабочих серверов, при создании нового rphost к какому из рабочих серверов будет подцеплен rphost? Случайным образом? Это как-то можно настраивать?

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


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

  4. SuperWinner

    Андрей, добрый день!
    Столкнулся с такой проблемой: фоновые задания не выполняются в транзакции при распараллеливании операций. Алгоритм в общем виде выглядит так:
    НачатьТранзакцию();

    /Начало цикла/

    /Создание фоновых заданий/

    /Конец цикла/

    Попытка
    /Ожидание завершения фоновых заданий/
    ЗафиксироватьТранзакцию();
    Исключение
    ОтменитьТранзакцию();
    КонецПопытки;
    Если одно из заданий проваливается, то транзакция должна откатиться. НО! при этом остальные задания успешно дорабатывают и выдают результат. Так и должно быть?

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


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

  5. imagik

    Андрей, не подскажите: распараллелили загрузку через Com-соединение, стало еще хуже грузиться. Причем на одном сеансе вообще по 19 минут на документ уходит. С чем может быть связано ухудшение производительности при распараллеливании? Число потоков 4.

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


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

      • imagik

        Я так и делаю. Запускаю фоновое задание, там распараллеливаю. Заметила, что не во всех сеансах все плохо: в каких-то по 20 минут висит, а в каких-то моментально.

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


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

  6. Александр

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

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


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

      • shureek

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

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


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

  7. e.gnedov

    Добрый день.

    Ситуация: клиенты, в основном, работают через web. Поработав день пользователь просто закрывает браузер, но соединение по данным консоли администрирования остается. На следующий день пользователь запускает сеанс и получает ошибку – “Нет свободных лицензий”.

    В настройках RDP можно указать отключение таких сеансов, а для web-клиентов есть такие настройки со стороны 1С?

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


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

  8. SuperWinner

    Андрей, добрый день!
    Возник вопрос по поводу ускорения проведения с выключением итогов. Если в проведении документа идет, например, контроль остатков, то получится, что запрос не увидит остатков по проводимым регистрам и возникнет исключительная ситуация. Я правильно понимаю?

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


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

  9. Gosha009

    Здравствуйте! Собрал пару вопросов:
    1)При установке сервера 1с есть возможность выбора: установить как сервис или как приложение. В чем может быть разница с практической точки зрения?
    2) Определение сеанса: “Сеанс определяет активного пользователя информационной базы и поток управления этого пользователя.”. Как-то вообще не понятно что имеется ввиду под потоком управления?
    3) Если в кластере 3 центральных сервера, будет ли на каждом из них запущен процесс rmngr.exe или только 1 на сервере который “самый центральный”? .На сайте 1с дается определение процесса rmngr.exe где говорится что “В составе кластера этот процесс всегда существует в единственном экземпляре”.
    Заранее спасибо.

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


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

      • Gosha009

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

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


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

  10. igor-olenev

    Здравствуйте, а можно-ли в кластере серверов создать сервер лицензирования не только клиентских машин но и самих серверов 1С? Т.е. поставить лицензии на сервер 1С на другой рабочий сервер, который не будет переконфигурироваться.

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


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

  11. Владимир Свириденко

    Вопрос по поводу примера из курса по уровню отказоустойчивости 8.3.
    Если для этой архитектуры установить уровень равным 0, центральный сервер работает, но при этом выходит из строя один из рабочих серверов.
    1. Пользователи на сломавшемся сервере отключаются (не перемещаются на 2-ой рабочий сервер, т.к. это не соответствует уровню)?
    2. Что происходит с пользователями на втором рабочем сервере?
    3. Что происходит с пользователями на центральном сервере?

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


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

  12. PSV

    Здравствуйте!
    Распараллеливание операций – а возможно использование внешней обработки для создания фоновых заданий без использования общего модуля? или, например, вызов внешней обработкой процедуры из общего модуля, в свою очередь в этой процедуре будет вызываться экспортная процедура из внешней обработки? или возможно есть еще какой-нибудь способ.
    Задача состоит в том, чтобы собрать данные по базе. Данные собираются в различных разрезах, которые меняются периодически. Базы большие, сбор данных занимает до 8часов. Т.к. условия сбора меняются, прописывать алгоритмы сбора в общих модулях сильно не желательно.

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


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

    • shureek

      Посмотрите в БСП, там есть механизм запуска фоновых заданий с кодом из внешней обработки.

  13. SvetlanaV

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

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


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

  14. PSV

    Здравствуйте!
    а есть рекомендации по настройке Параметров рабочих процессов? По-умолчанию кол-во ИБ – 8, кол-во соединений – 128. Когда рекомендуется их менять?

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


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

  15. Dmitry K

    Как проверить какой режим электропитания установлен на компьютере под управлением Linux (CentOS)?

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


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

      • Dmitry K

        Послали так послали ) Я тут и есть за системного администратора.

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


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

  16. Dmitry K

    В одном из видео звучит фраза “если вы не нашли причину утечки памяти”. Как я могу влиять на утечки памяти в 1с? Писать письма в 1с и ждать новый релиз платформы?

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


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

  17. e.sholokh@efsol.ru

    Если у меня в кластере 8.2 есть 2 сервера, 1 центральный и 1 рабочий. с центрального на рабочий я перенес сервис транзакционных блокировок. Если рабочий сервер “упадет”, то транзакционные блокировки перестанут работать?

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


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

  18. EvgenyZA

    Добрый день!
    При установке параметра перезапуска рабочего процесса, интервал перезапуска в любое значение отличное от 0, процесс rmngr начинает очень сильно грузить процессор от 40% до 60%, помогает только поставить значение 0 интервалу перезапуска с обязательным перезапуском службы, просто поставить значение 0 не помогает. Почему такое происходит и как с этим бороться?
    Версия платформы 8.3.6.2299

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


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

      • ivv1970

        На сегодняшний день(15.10.2015) в плане стабильности 8.3 все еще значительно отстает от 8.2 ? Настолько ли все плохо? У нас работают несколько баз(УТ10, БП3 одновременно 90-100 польз.) на 8.3 почти год, особых проблем не заметно.

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


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

  19. e.sholokh@efsol.ru

    в 8.2 можно указать рабочему процессу свойство “Резервный”. Он запустится если не сможет перезапустится “Не резервный” процесс. А если у меня несколько “Резервных”, они запустятся все сразу? И “Резервный” запустится только если выйдут из строя все “Не резервные”?

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


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

  20. imagik

    Как можно проверить, почему не запускаются регламентные задания для одной из баз? На сервере 1с блокировки в свойствах нет, для других баз все хорошо…

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


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

  21. imagik

    Андрей, мой глупый вопрос…
    Очень часто встречаю “почистить серверный кэш”. Можно пояснить что это означает, какие папки?

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


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

  22. imagik

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

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


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

  23. Иван

    Вопрос по отказоустойчивости:
    В видео курсе Вы говорите что “В теории резервирование можно настроить и в строке подключения базы (Srv1, Srv2:2541, Srv3)” – нужно ли под этими словами понимать, что если у нас резервирование настроено через консоль 1С, то в строке подключения надо указывать только один центральный сервер (кластер)?

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

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


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

      • Иван

        Да, извиняюсь, я про 8.3.6.2237.
        При наличии 2х центральных серверов, я понимаю что будет происходить с уже подключенными пользователями (посмотрел ваши видео курсы по настройке кластера серверов).
        Вопрос в другом, как будут подключаться новые пользователи?

        Предположим, что есть 2 центральных сервера – SRV1 и SRV2.
        В строке подключения у пользователей указан сервер SRV1 и пользователи подключаются и работают.
        Если SRV1 “падает” (и подниматься не хочет долгое время), то пользователи (уже подключенные) должны будут перейти на SRV2 (если всё корректно настроено).
        А что будет, если какой то новый пользователь захочет подключиться в тот момент, когда SRV1 “лежит”? У него же в строке подключения указан SRV1…

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


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

          • Иван

            Спасибо. Не знал… Надо будет потестировать.
            А эта информация у пользователя хранится в КЭШе?

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


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

  24. Andrefan

    Добрый день. Платформа 8.3.6.2076. Происходит непонятное периодическое зависание сеансов веб-клиента (веб-сервер IIS). Причем, некоторые сеансы при завершении работы браузера завершаются, некоторые – нет. Подскажите, из-за чего в теории могут быть зависания и как бы Вы порекомендовали исправлять данную ситуацию? (скрин-шот с данным поведением и настройками кластера прилагаю Время снятия данных – 08.09.2015 17:00)

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


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

      • Andrefan

        В конфигурации есть определенная специфика. Взаимодействие с системой мониторинга, происходит посредством запросов на JS. В тонком клиенте полная работа функционала пока не возможна. Замечено, что зависшие процессы завершаются примерно через сутки (плюс-минус час-два). Насколько я понял, это зависит от параметра “Интервал перезапуска рабочего процесса”, который и стоит в значение 84600. Подскажите, насколько критично может сказаться на работе, если я его уменьшу, скажем, в значение 2 часа (7200)?

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


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

    • Иван

      У Вас, скорее всего, происходит засыпание сеанса (если пользователи долгое время ничего не делали в базе).
      У каждой базы в режиме конфигуратора (меню “Администрирование – Параметры информационной базы”) есть настройки “Время засыпания пассивного сеанса” и “Время завершения спящего сеанса”.
      Время засыпания по умолчанию равно 1200 сек (как раз видно на вашем скриншоте разница между датой начала и последней активностью).
      Время завершения по умолчанию 86400 сек (сутки), т.е. через 24 часа спящие сеансы должны будут завершиться.
      Попробуйте уменьшить время завершения, но его нужно указывать больше чем время засыпания (код ошибки 30026682 на сайте 1С).

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


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

  25. yamarsel

    Периодически при выполнении запроса возникает сообщение о нехватке памяти. Что делать в 8.2 и 8.3?

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

    Андрей, а какие отличия тут в 8.2 и 8.3 могут быть?

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


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

  26. yamarsel

    Андрей, возник вопрос по отличиям сеанса и соединения.

    В дополнительных материалах есть такая цитата:
    “Другими словами, с помощью соединения сеанс получает доступ к кластеру. При этом количество соединений ограничено, и как только таковое становится не нужным сеансу, оно возвращается в пул соединений.”

    Допустим появился сеанс, обратился к кластеру, сеансу назначили соединение.
    У меня вопрос, в каких случаях сеансу перестает быть нужным соединение? Т.е. в каких случаях соединение “открепляется” от сеанса и возвращается в пул?

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


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

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