Курс по Оптимизации 1С — Занятие №13
В рамках этого занятия необходимо изучить следующие материалы.
Модуль 4. Приемы ускорения операций
- Глава 9. Приемы ускорения различных операций
- Распараллеливание операций. Ускорение записи в регистры
Модуль 5. Кластер серверов
- Глава 10. Кластер серверов
- Общая информация о кластере серверов
- Распределение нагрузки. Отказоусточивость кластера серверов
- Рекомендуемые настройки кластера серверов 8.2
- Программное лицензирование
Практические задания
К сожалению, у Вас недостаточно прав для дальнейшего просмотра.
Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.
Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.
Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.
Комментарии / обсуждение (239):
Комментарии закрыты

Андрей, не могли бы подсказать, как одновременно работать с агентами 8.2 и 8.3 на одном компьютере. Для 8.2 я изменил диапазон портов, но всё равно ничего не выходит.
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, спасибо, действительно, инструкция подробная, всё сделал четко по ней.
Перерегистрировал службу 1с 8.2 с другими портами, теперь обе службы запустились одновременно без проблем.
Но осталась следующая проблема.
Захожу в кластер 8.3, смотрю параметры центрального сервера, стоит порт 1540. Всё работает без проблем.
Потом захожу в кластер 8.2, смотрю параметры центрального сервера, там тоже стоит порт 1540, при этом сообщается ошибка «Различаются версии клиента и сервера». Меняю порт на 2540, теперь всё работает.
Но теперь, если зайти обратно в кластер 8.3, ошибка «о различных версиях клиента и сервера» возникает там, и в параметрах центрального сервера в кластере 8.3. порт тоже изменился на 2540.
В чём тут может быть дело и где зарыт косяк? Данные реестра кластера 8.2 находятся в каталоге, отличном от того, в котором хранятся данные реестра кластера 8.3.
…
(текст комментария доступен только участникам Мастер-группы)
Запускаю консоли 8.2 и 8.3 соответственно.
Агенты у меня запущены 8.2 с портом 2540, 8.3 — 1540.
Вот пример.
Запускаю консоль 8.3, выдается такая ошибка (Скриншот 1).
Запускаю консоль 8.2, всё нормально.
Параметры центрального сервера при этом следующие (Скрин 2).
Теперь если поменять в параметрах центрального сервера порт на 1540, при запуске 8.3 ошибки не будет, а при запуске консоли 8.2 ошибка (скрин 3).
Получается, что центральный сервер у меня и в том, и в том случае один (это текущий компьютер), и при изменение порта для него в одном кластере он автоматом меняется и в другом кластере.
Не знаю, насколько правильно объяснил…
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, а я и не смотрю одновременно. Запускаю их по очереди…
…
(текст комментария доступен только участникам Мастер-группы)
Вопрос по программному лицензированию.
Допустим у меня платформа 8.2 и есть кластер серверов, в нем 2 рабочих сервера 1С. Они распределяют нагрузку между собой, кроме того — входят в группу резервирования.
По видеоуроку — программная лицензия привязывается к серверу 1С.
Принципиально ли важно, к какому из двух имеющихся серверов привязать данную лицензию?
И будет ли у меня работать резервный кластер, если сервер, на котором установлена лицензия, «сгорел».
…
(текст комментария доступен только участникам Мастер-группы)
Вопрос по уровню отказоустойчивости.
В видео был рассмотрен пример, что у нас один центральный сервер и 2 рабочих. При это мы установили уровень отказоустойчивости равным 1.
Далее рассмотрели ситуацию, когда из строя выходят оба рабочих сервера, а центральный сервер остается. Это не соответствует уровню отказоустойчивости, который был нами установлен, но в то же время кластер продолжает функционировать, пользователи, у которых вылетела программа могут перезайти и попадут на центральный сервер.
В связи с этим вопрос. А как бы изменилась ситуация, если бы мы указали в свойствах кластера уровень отказоустойчивости, равный 2? А если бы указали 0?
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, я не совсем понимаю, на что всё-таки влияет данной свойство — УО?
Допустим, конфигурация кластера такая же, как написано выше.
Из строя выходит один рабочий сервер.
Поясните, пожалуйста, ещё раз, в чем будет принципиальная разница между следующими вариантами событий:
1) В свойствах кластера УО = 0;
2) УО = 1;
3) УО = 2;
…
(текст комментария доступен только участникам Мастер-группы)
Я правильно понимаю, что если мы поставили УО = 0 и выходит из строя рабочий сервер, то работа всех пользователей, которые работали на этом сервере, аварийно завершается.
А если бы мы поставили в настройках УО = 1, то работа пользователей аварийно бы не завершилась, просто они переводятся на другой рабочий процесс?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый вечер.
Насколько я понимаю ситуацию то лучше вообще отключить пересчет актуальных итогов при записи данных в регистры поскольку в таблице итогов регистра накопления/бухгалтерии остатки хранятся на начало каждого месяца и если нужен например остаток на некое число какого-нибудь месяца то платформа получит остаток на первое число этого месяца из таблицы итогов и потом досчитает по таблице движений до нужного числа месяца.
В такой ситуации выгодно отключить пересчет автоматический актуальных итогов и рассчитывать их программно на начало каждого месяца, например регламентным заданием. Кажется в некоторых типовых так и делают.
Единственное меня смущает то что будет в случае если нужно получить актуальный остаток — например отчете на скд не указали дату и платформа обратилась актуальным остаткам регистра.
Андрей, а что вы думаете по этому поводу?
…
(текст комментария доступен только участникам Мастер-группы)
1. Скажите пожалуйста, процессы rphost 64-битного сервера 1С 8.1 тоже являются многопоточными как и у 8.2? Об этом можно где-нибудь почитать?
2. С Вашей точки зрения имеет смысл конвертировать большие высоконагруженные базы с сервера 8.1 на сервер 8.2 оставив режим совместимости с 8.1 (без адаптации баз, сильно переписанные УПП, одновременно в одной базе может быть до 350 пользователей). Предположительно как это повлияет на быстродействие на том же оборудовании: увеличится/уменьшится/останется без изменений?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день! У меня несколько вопросов:
1) В настройках кластера можно указать интервал перезапуска рабочих процессов. Как можно понять в какой момент времени все же случится перезапуск процессов? И как можно свести обрыв соединений к минимуму, если в данный момент будет открыта длительная транзакция, например выполняется расчет себестоимости выпуска?
2) Имеет ли смысл, по одному регистратору добавлять записи в регистр бухгалтерии маленькими порциями, или будет лучше сделать один набор записей на 1 млн строк и выполнить НаборЗаписей.Записать() ?
…
(текст комментария доступен только участникам Мастер-группы)
8.2 Резервирование кластеров:
1.В случае падения основного кластера пользователи автоматически переключаться на Server2, это понятно. Но как новые пользователи, которые будут входить в базу, когда не работает кластер AND-SERVER2008 смогут подключиться к Server2? У них ведь в строке подключения написано имя первого сервера и о существовании второго резервного кластера их клиент 1С просто не знает.
2.Механизм резервирования в 8.2 вполне может использоваться аналогично механизму отказоустойчивости в 8.3, когда в кластере назначаются несколько главных серверов?
3.Развивая тему отказоустойчивости, есть механизмы настройки резервирования сервера СУБД? Получается на уровне сервера 1С мы можем настроить резервные машины. Но СУБД остается единственным и неповторимым. И в случае выхода из строяего его, вся система перестанет работать.
4.На что влияет параметр уровень отказоустойчивости в 8.3? Он справочный? По сути УО определяется не этим параметром, а наличием центральных серверов. Я правильно понял?
…
(текст комментария доступен только участникам Мастер-группы)
Как настроить перезапуск рабочих процессов ночью?
1.Я правильно понимаю, что во время перезапуска рабочего процесса (когда по таймеру пришло время рестартовать), все кто делал какую-то операцию и не закончил (имеют соединение с процессом), будут отключены с ошибкой? А те кто просто сидел и смотрел на открытый документ даже не заметят этого?
Я говорю сейчас про 8.2
2.Чтобы такого не было как настроить перезапуск рабочих процессов ночью? Я так понимаю таймер автоматически начинает отсчет со времени последнего перезапуска Ragent или установки параметра кластера «Перезапускать через…»? И если я этот параметр поставлю в 15:00, значит каждый день в 15:00 рабочие процессы дружно будут перезапускаться, когда идет самая активная работа.
И если я даже поставлю этот параметр специально в 02:00 ночи, то в следующий раз, когда физический сервер по любым другим причинам перезагрузится в 14:00 дня, рабочие процессы опять начнут перезагружаться в 14:00 в самый разгар работы?
Или я не прав?
…
(текст комментария доступен только участникам Мастер-группы)
Режим «Использовать, как резервный».
В уроке вы говорите, что такой процесс начинает использоваться крайне редко, когда обычные РП не могут стартовать. А так он обычно просто «висит» как неактивный.
У меня по неопытности такой процесс используется. И на практике получается не так как вы рассказывали. На 50 пользователей работает 3 процесса: 2 обычных и 1 резервный. Но ведет себя этот резервный процесс совершенно по-другому.
Он действительно начинает работать не сразу. Но через какое-то время он успешно забирает на себя свою «порцию» подключений, как обычный «нормальный» процесс.
Привожу скриншот, на котором видно, что все 3 РП (2 «использовать» и 1 «резервный» разобрали между собой по 17-18 подключений). У каждого из них одинаковая допустимая производительность (нагрузка распределена равномерно я так понимаю)
Платформа 8.2. Разрядность: x64. Процессы рестартуют раз в 24 часа
P.S. Кстати, я так понимаю при нагрузке 50 пользователей 2 процесса «использовать» вполне достаточно?
…
(текст комментария доступен только участникам Мастер-группы)
Время перезапуска выключенных стоит 90 секунд. Значит спишем такое поведение на конкретный релиз. Поистине пути «1С» не исповедимы ))
…
(текст комментария доступен только участникам Мастер-группы)
Да я тоже понял, что смысла в резервном процессе нет. остановлю его совсем. Пусть останется 2 рабочих процесса и хватит на 50 пользователей.
Спасибо!
Как распараллелить проведение документа по разным наборам записей?
1.Как это сделать технически? Я правильно понимаю, что в ОбработкеПроведения вызов 8 фоновых заданий не получится, так как в рамках одной транзакции 8 параллельных процессов не запустятся? Нужно проведение документа делать «извне»? Например из обработки, а само проведение по определенному набору (порции) должно быть описано в процедурах общего модуля, которые и выполняются фоновым заданием?
2.Часто есть регламентные задания закрытия месяца и расчета себестоимости, которые выполняются, очень долго. Можно ускорить этот процесс распараллеливанием? Например, расчет себестоимости в УПП? Запустить расчет себестоимости по разным номенклатурам в параллель?
…
(текст комментария доступен только участникам Мастер-группы)
Решал вопросы по тестированию на профессионала наткнулся на такой вопрос.
По какой формуле рассчитывается максимальный уровень отказоустойчивости?
По логике вещей если нужно максимальный уровень то это ответ 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.
В кластере нет просто сервера. Он или центральный, или рабочий, или все в одном
Добрый день!
Андрей, подскажите пожалуйста, есть ли какие-либо отличия в настройке серверов 1С 8.3 версии ПРОФ и КОРП? В частности, изменение настроек количества рабочих процессов.
…
(текст комментария доступен только участникам Мастер-группы)
Этот вопрос встречается в тестах 1С:Профессионал по технологическим вопросам, который стал обязательным перед сдачей 1С:Эксперт. У нас в организациях лицензия ПРОФ. Возможность указывать количество баз и соединений на процесс есть.
На сайте 1С (http://www.1c.ru/news/info.jsp?id=16733) есть только следующая информация, но никакой конкретики по текущему вопросу:
Сервер уровня КОРП «1С:Предприятия 8.3» предоставляет пользователю расширенные возможности по сравнению с «обычным» 64-разрядным сервером:
фоновое обновление конфигурации базы данных;
дополнительное управление распределением по рабочим серверам кластера в разрезе информационных баз, видов клиентских приложений и фоновых заданий:
сервисов кластера;
соединений с информационными базами;
гибкое управление нагрузкой в кластере:
безопасный расход памяти за один вызов;
количество ИБ на процесс;
объем памяти рабочих процессов, до которого сервер считается производительным;
максимальный объем памяти рабочих процессов;
стратегия балансировки (по памяти, по производительности);
внешнее управление сеансами;
профили безопасности;
возможность обновления тонкого клиента с сервера;
возможность публикации списка баз и обновлений тонкого клиента через http.
…
(текст комментария доступен только участникам Мастер-группы)
С партнерского форума Плякин Александр (1С, Москва)
https://partners.v8.1c.ru/forum/topic/1269523
Цитата из приведенного вами инфописьма:
Выпущенные ранее клиентские и серверные лицензии «1С:Предприятия 8» остаются в продаже по прежним ценам, но не предоставляют права использования указанного дополнительного функционала. Перечисленные функциональные возможности разрешается использовать только при наличии у пользователя серверных и клиентских лицензий уровня КОРП.
Другими словами, возможности, перечисленные в инфописьме, правомочно использовать только при наличии лицензий уровня КОРП. Технически сервер КОРП и не КОРП — не различаются. В документации описаны все возможности сервера, т.е. уровня КОРП.
Странно но после того как сделал перевел 2 процесс из стояния использовать в состояние резервный, он мало того что остался активным так он продолжает быть таковы даже после рестарта сервера.
…
(текст комментария доступен только участникам Мастер-группы)
спасибо помогло
Не получается подключить второй рабочий сервер в кластер 8.3.
В рабочем процессе POLOSKOV_1 не стоит флажок «Активен». Базы стартуют, но все соединения идут на основном сервере. В чем может быть дело?
Скриншот сделан на компьютере POLOSKOV.
…
(текст комментария доступен только участникам Мастер-группы)
32 урок. На слайде написано, что выключенные процессы рекомендуется останавливать через 3600 сек., а в тексте говорится, что 120 сек. Как все-таки лучше?
…
(текст комментария доступен только участникам Мастер-группы)
Ваша рекомендация в уроке 32 про то, не стоит переводить большие системы на 8.3, уже устарела или все еще актуальна?
…
(текст комментария доступен только участникам Мастер-группы)
Что будет, если в 8.2 выйдет из строя рабочий сервер, на который перемещен сервис фоновых заданий? Фоновые задания не смогут запускаться, или этот сервис автоматически уйдет на центральный сервер?
…
(текст комментария доступен только участникам Мастер-группы)
Вопрос по расположению файла logcfg.xml. Если я не терминальном доступе расположу этот файл в нужную папку, но сервер 1С у меня будет в другом месте, то логи писаться не будут?
…
(текст комментария доступен только участникам Мастер-группы)
И еще вопрос по лицензированию:
— при переносе сервиса лицензирования на отдельный компьютер (сервер) не достаточно вынести только требования назначения функциональности «сервис лицензирования»
— нужно еще добавить «сервис сеансовых данных» — не назначать ?
иначе с этого сервера будут забираться лицензии и на него назначаться rphost?
…
(текст комментария доступен только участникам Мастер-группы)
Как у Вас получается сэмулировать подключение клиента на определенный сервер? Т.е. чтобы клиент подключался не на сервер 1, а на сервер 2 ?
…
(текст комментария доступен только участникам Мастер-группы)
Не совсем понятно, зачем указывать другой порт при создании центрального сервера. Т.е. зачем мы создаем еще один кластер? Андрей, если можно, поясните более подробно, что такое центральный сервер и что мы делаем в данном уроке?
…
(текст комментария доступен только участникам Мастер-группы)
урок 26. Центральные серверы 8.3
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо)) теперь понятно))
Если у меня два сервера: центральный и рабочий. Можно ли управлять центральным сервером (его соединениями и др.) из консоли на рабочем сервере? Т.е. устанавливаю оснастку на рабочем сервере, буду ли я видеть центральный сервер и могу ли я определить, что центральный сервер работоспособен? можно ли добавить рабочие процессы на центральном сервере с рабочего сервера?
…
(текст комментария доступен только участникам Мастер-группы)
Вопрос по показателю «Безопасный расход памяти за один вызов» — что будет, если этот порог будет превышен? что вернется пользователю в результате?
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, хочется еще раз уточнить про лицензирование сервера 1С.
Есть два сервера, входящих в кластер серверов. Правильно ли я понимаю, что:
Для версии 8.3 можно назначить второй сервер сервером лицензирования и туда поместить все лицензии (и клиентские и в том числе лицензию на сервер 1С)?
Для версии 8.2 такой возможности нет, и все лицензии должны быть на первом сервере? точнее, лицензия на сервер должна быть на сервере 1с, а клиентские лицензии могут быть где угодно?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо)
тогда еще одно уточнение для понимания:
— допустим, в кластер серверов входят 5 рабочих (физических) серверов. На каждом из них запущены rphost. Тогда требуется 4 лицензий на сервер? т.е. на каждый сервер требуется лицензия на сервер 1С ?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день!
У меня вопрос про параллельную запись элементов справочника. В случае записи в фоновых заданиях в транзакции, не будет ли эскалация блокировок 1С?
Вроде говорили, что в 8.2 эскалация происходит при блокировке 20000 записей. Но при параллельной записи в 5 фоновых заданиях по 20 т.записей эскалации на весь справочник не происходит. Может я что-то не так понял?
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, а получится сделать такую настройку кластера серверов 1с?
Поднимаем кластер, добавляем в него дополнительный сервер.
Этот дополнительный сервер запускаем с ключом отладки.
И если вдруг понадобится проверить в отладчике для рабочей базы модули выполняемые на сервере, подключаемся на второй сервер и выполняем отладку…
Получиться?
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, а как технически запустить еще одну службу? И при перезагрузке сервера (физического) они не будут конфликтовать друг с другом?
…
(текст комментария доступен только участникам Мастер-группы)
«Рекомендую эту разработку»
Андрей, а какую?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, Андрей.
Сейчас столкнулся на проекте со сложностями. Не могли бы вы прокомментировать?
Управление торговлей, редакция 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
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте, Андрей!
Попытался 2 рабочих процесса перевести в неактивный режим с целью удалить их. Столкнулся со следующей проблемой (изображение прилагается). У этих 2-х РП установил свойство «Использование» в значение «Не использовать».
У кластера серверов для свойства «Выключенный процессы останавливать через» установил значение 120 сек. Истекли 2 минуты, но эти 2 РП так и не перешли в состояние «Активен» = Ложь.
Это верное поведение кластера серверов 1С 8.2?
…
(текст комментария доступен только участникам Мастер-группы)
Вопрос по резервированию кластеров 8.2, при выходе из строя главного сервера как новые клиенты узнают адрес второго кластера? Я так понимаю второй кластер спасет только уже подключенных клиентов, либо клиентов, которые хотя бы раз подключались к основному кластеру и он передал информацию о существовании запасного кластера. А если клиент ни разу не запускал базу и в строке подключения указан вышедший из строя сервер — будет ошибка подключения?
Как аналогичная ситуация будет решаться в 8.3? Когда сервер, указанный в строке подключения не доступен, хотя есть функционирующие центральные кластера.
…
(текст комментария доступен только участникам Мастер-группы)
Как можно решить эту проблему? Поидее если использовать метод с прописыванием нескольких серверов в строке подключения, то проблема решается? При условии что это будет работать без глюков =)
…
(текст комментария доступен только участникам Мастер-группы)
Распараллелил алгоритм. В нем создаются бизнес-процессы. В параллельных потоках бизнес-процессам присваивается одинаковый номер. Конфигурация в автоматическом режиме. Как не переводя ее в управляемый добиться выдачи разных номеров, кроме того, чтобы заранее их создавать и передавать в параллельные потоки?
…
(текст комментария доступен только участникам Мастер-группы)
Контроль уникальности как раз и вызывает исключение в одном из потоков.
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, добрый день!
1)При переносе лицензирования на отдельный сервер, необходим ли дополнительный серверный ключ?
2)Не до конца понятна работа с центральными серверами на 8.3 (ввиду отсутствия опыта). Если я назначаю несколько серверов центральными, могу ли в строке подключения указывать имя_любого_сервера:порт?
…
(текст комментария доступен только участникам Мастер-группы)
На курсах в 1С говорили, что серверный ключ нужен только там, где работает rphost. То есть, если там только ragent и rmngr, то серверный ключ, получается, не нужен. А выдача лицензий — функция rmngr.
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, а можно ли привести какие-то примеры — какие измерения можно добавить в последовательность, чтобы при восстановлении, можно было бы проводить документы параллельно? И может быть бы видели, в каких типовых это сделано?
…
(текст комментария доступен только участникам Мастер-группы)
А как в описанном вами случае происходило правильно списание по партиям тогда? Ведь что получается (как я себе представляю): если все проводится в разрезе договоров, тогда нет четкого проведения в хронологическом порядке прихода-расхода? Если в типовой БП есть последовательность, в ней есть измерения Организация, то да, понятно, что в пределах одной организации мы можем распараллеливание в общем случае именно в разрезе Организаций. А как распараллелить в разрезе именно, как вы пишите, договоров? Ведь, например, в пту — один контрагент у него один договор, в рту — другой, у него совершенно другой контрагент. Но чтобы по партиям в рту списалось все правильно, нам нужно восстановить ГП до рту, т.е. перепровести все приходы-расходы.
А вы, кстати, правильно угадали насчет БП, я именно в этом ключе и спрашивал, как можно именно в этой конфе ускорить восстановление ГП :)
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо за ответ, Андрей! Со статьей ознакомился. Как я и предполагал, в описанном вами случае, такое возможно из-за особенностей бизнес-процессов в этой конкретной конфигурации для именно этого заказчика. Иначе, как кажется, разработчики типовой сами бы такой функционал запилили. А вообще интересно было почитать, какая идет борьба за каждый час восстановления ГП :)
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, доброе время суток!
Возник вопрос с распараллеливанием…
Написал процедуру выполняющую запись проводок по одному документу с помощью фоновых заданий. В фоновом задании только одна строка
НовыйНаборЗаписей.Записать(Ложь);
НовыйНаборЗаписей уже подготовлен и приходит как параметр процедуры.
Но вот только проводки не появляются и ошибок ни каких не обнаруживантся. А если выполнить данную строку вне фонового задания, то все ок.
при том, что время выполнения действительно меняется:
Проведение НЕ параллельно: Время проведения — 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 сек.) они весьма плохи. Куда еще можно копнуть? или глянуть?
…
(текст комментария доступен только участникам Мастер-группы)
Да решить, то хочется простую задачу. Если в документе много проводок, то их хочется писать параллельно :)
Например, расчет себестоимост проводок 18к+ и хочется писать их не в один поток, а распараллелить. Чтоб документ проводился быстрее.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо :)
Я пока не считаю расчет себестоимости проблемой, он у нас проводится за 15 мин (47 сек — это записываются скопированные проводки этого документа). Просто хотелось на более менее рабочем примере попробовать провести распараллеливание, а не создавать искусственный тест, на котором бы все летало. Вот и взялся за проводки данного документа. Но результат пока не принес результатов.
По поводу железа — все в порядке: 48 ядер в среднем загружены на 3-4 процента, ОЗУ 128 Гб, загружена на 50% принудительно настройкой SQL. Диски в RAID на 8 дисках SSD для базы и на 4 для логов. Похожий сервер и для сервера 1С.
Ок, поэкспериментируем на больших объемах :)
Андрей, здравствуйте.
Вопрос по программным лицензиям. Документация 1С говорит, что параметры лицензии привязаны к «Списку процессоров и их параметрам». Подскажите, пожалуйста, осталась ли привязка программной лицензии к частоте процессора? Знаю, что в 8.2 такая привязка была, и возникали проблемы с виртуальными серверами. Как обстоят дела в 8.3? К каким параметрам процессора привязана лицензия?
…
(текст комментария доступен только участникам Мастер-группы)
Добрый день:
Про уровень отказоустойчивости: В дополнительных материалах «подготовка к сертификации» есть вопрос №18 где приведена формула:
УО = Общее количество серверов – Количество центральных серверов – 1
Что очень странно и противоречит ИТС где написано:
Количество центральных серверов = УО + 1, что выглядит более логично.
…
(текст комментария доступен только участникам Мастер-группы)
Совсем стало не понятно.
Почему нельзя получить УО по формуле ИТС?
УО = Количество центральных серверов — 1 нет?
Или это разные УО в формуле ИТС и вашей?
Кстати в контексте вашей формулы центральный сервер считается рабочим? Как понимать формулировку вопроса «Есть 3 рабочих сервера и 2 центральных» — как 3 рабочих из них 2 центральных или рабочий сервер с признаком центральный в этом контексте не считается рабочим?
…
(текст комментария доступен только участникам Мастер-группы)
Как считается количество серверов для формулы «УО = Общее количество серверов – Количество центральных серверов – 1». Надо ли считать отдельно рабочие и центральные сервера? Если у меня 3 сервера, и все три центральные и рабочие, УО = 6-3-1?
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, подскажите пожалуйста какова может быть причина возникновения «Пустых» сеансов, т.е. сеанс какое-то время работал, потом отключился, но в консоле он продолжает висеть…
Почему они могут возникать, и сами не закрываются? как с этим бороться?
1С:Предприятие 8.3 (8.3.5.1231)
…
(текст комментария доступен только участникам Мастер-группы)
Вреда нет, но через 20 минут они не закрываются… приходится удалять руками
Здравствуйте.
При схеме Ц.Сервер + Р.сервер. Что произойдет при обновлении версии платформы на Р.С. (не совпадает с версей Ц.С.)? Выпадет ли он из кластера? Восстановится ли он автоматом в кластер после обновления версии на Ц.С.?
…
(текст комментария доступен только участникам Мастер-группы)
Попробовал вместо периодичности перезапуска рабочих процессов установить время явно как в одном из комментариев 15:46
В результате при повторном открытии свойств там просто 15. И каждые 15 секунд перезапускается.
Почему у меня явное время не сработало, хотя по ответу на комментарий получается, что так можно
…
(текст комментария доступен только участникам Мастер-группы)
Это самое нижнее сообщение на этой странице. Там действительно говорится про момент времени установления, а не про устанавливаемое значение.
Просто в видео Вы говорили, что отграничение по памяти можно ставить в процентах ну я в том комментарии по аналогии подумал, что можно точное время указать. Хотя теперь понимаю что ошибся.
…
(текст комментария доступен только участникам Мастер-группы)
Приветствую!
Как-то можно понять/спрогнозировать адекватное время мягкого переключения пользователей в другой процесс?
Из-за утечек памяти rphost-ы разбухают неимоверно, ну и пользователи иногда зависают так, что сброс сеанса/соединения не помогает. Приходится останавливать процесс, на котором такой пользователь завис. Хочется, чтобы остальные пользователи, работающие в это время на этом же процессе, не вылетали по истечении параметра «Выключенные процессы останавливать через».
Есть какая-либо метода расчета, или только эмпирический подход с последующим анализом ТЖ по соответствующему событию?
…
(текст комментария доступен только участникам Мастер-группы)
Мягкое переключение давно использую. Как отлавливать проблемного пользователя тоже теоретически ясно.
Вопрос стоял о том, как настроить кластер так, чтобы он автоматически переключал живых пользователей с минимальными отключениями. Зависший сеанс, при этом, остается в процессе, и вместе с ним отключается.
В курсе Вы говорите о том, что стоит останавливать выключенные процессы через 120 секунд. На слайде же фигурировала цифра 3600. Потому и спросил.
Для себя определил метод уменьшения. Ставлю 120 секунд, и наблюдаю за процессом и пользователями. После перезапуска по превышении допустимого объема памяти, парсю ТЖ отключенного процесса на предмет отключения пользователей. Если отключился только зависший пользователь, то разбираю его контекст. Уменьшаю время выключения, и выхожу на следующий виток..
…
(текст комментария доступен только участникам Мастер-группы)
Исхожу из предположения, что зависший пользователь автоматически не переключится на другой процесс. Посему собираю эксепшены отключаемого процесса, и анализирую контекст.
По курсу везде говорится — что рекомендуется 2 рабочих процесса.
Не нашел нигде в курсе — описание, как сделать 2 рабочих для платформы 8.3 :)
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте. В примере по распараллеливанию имело ли смысл для большего ускорения выполнять изменение цены порции элементов справочника в одной транзакции?
…
(текст комментария доступен только участникам Мастер-группы)
Андрей,
Хотел задать Вам вопрос по поводу лицензирования серверов. Если мы хотим сделать кластер серверов из двух компьютеров, то нам необходимы две серверные лицензии или же лицензия нужна одна на кластер? Заранее спасибо.
…
(текст комментария доступен только участникам Мастер-группы)
т.е. методика с выносом сервера лицензирования на отдельный компьютер применима только к клиентским лицензиям? и если изменится параметры центрального сервера, то лицензии все равно слетят?
…
(текст комментария доступен только участникам Мастер-группы)
Здравствуйте! С чем может быть связано, что в 8.3 любые действия с базой, выполняющиеся на одном рабочем процессе, выполняются в разы быстрее, чем те же действия, но на других рабочих процессах? Система сама создала несколько рабочих процессов. Как расследовать такую проблему?
…
(текст комментария доступен только участникам Мастер-группы)
Можно как-нибудь посмотреть, что делают процессы rmngr и ragent (кластер на 8.3.5)? Случайно заметил, что эти два процесса нагружают процессор до 60% длительное время (rmngr — 30% и ragent — 30%), причем с базой в этом кластере никто не работает (база тестовая). После перезагрузки сервера все стало нормально (в пятницу нагрузка была, перезагружать не стал, в понедельник так же эти процессы нагружали процессор). На этом сервере так же установлен сервер 1С 8.2.
…
(текст комментария доступен только участникам Мастер-группы)
Запретите работы всем фоновым и регламентным заданиям в этом кластере для всех баз. Скорее всего дело в них. Обычно загружает соединение (по консоли сервера 1С) у которого высокая динамика изменения параметров (памяти, записи и чтения диска). Но это конечно косвенные признаки.
Если ДЛЯ ЛОКАЛИЗАЦИИ сделать 1 рабочий процесс на одного пользователя, то наверно поймете кто виновник.
Добрый день, Андрей.
Вопрос по четвертому блоку урок 6 (Ускорение записи в регистры. Описание).
Когда мы выполняем УстановитьИспользованиеИтогов(Ложь), что происходит с таблицей итогов по регистру накопления, она удаляется или к ней временно закрывается доступ.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо, а можно какой-то командой обновить всю таблицу итогов по регистру накопления с даты начала заполнения (когда начали учет в базе).
PS.Нашел ПересчитатьИтоги(), но тогда возникает вопрос после выполнения УстановитьИспользованиеИтогов(Истина) надо или нет выполнять ПересчитатьИтоги().
…
(текст комментария доступен только участникам Мастер-группы)
ПересчитатьТекущиеИтоги() надо потом выполнять или нет?
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо.
Наставники так и говорили, что, если ни что не помогает, прочти наконец инструкцию. Но документация 1С, часто не многословна, поэтому и заглядываю туда редко.
Еще раз, спасибо.
Добрый день, Андрей.
с ускорением записи в регистр огромного количества записей всё понятно, но какие шаги\меры предпринять (либо что-то проверить) для ускорения записи набора в котором всего 10 записей? время записи доходит до 6-7 секунд. ситуация воспроизводится когда пользователь проводит документ в монопольном режиме с полными правами и без rls.
…
(текст комментария доступен только участникам Мастер-группы)
спасибо за ответ. будем искать (с) :)
Андрей, здравствуйте. Посмотрел видео и возник вопрос. Каким образом Вам удалось запустить сервера 8.2 и 8.3 на одном компьютере на одном и том же диапазоне портов и одних и тех же портах кластера. При этом еще и консоли администрирования показывали только «свои» (8.2 или 8.3) серверы. Или я невнимательно смотрел? У меня на практике так сделать не удалось, пришлось разносить по портам.
…
(текст комментария доступен только участникам Мастер-группы)
Андрей, здравствуйте.
Хотел спросить по механизму отложенного проведения.
Например, в базе УПП у нас бухгалтера перепроводили документы за месяц не только ночью, но и днём.
В это время другие бухгалтера проводили документы вручную и получали ошибки блокировок и взаимоблокировок (режим управления блокировками, опять же: Автоматический, да и в режиме совместимости с 8.1 работало).
Руководство обращалось в компанию 1С-Рарус (Вячеславу Гилёву) на диагностику этой базы. В ходе диагностики нам поступило предложение перевести из режима совместимости с 8.1, перевести на управляемые блокировки и (специалист: Дмитрий Кологреев) сделать отложенное проведение фоновым заданием документов.
Я не совсем понял ньюансы этого механизма. На тот момент у руководства не осталось вопросов, а у меня остался.
Вы знакомы с этим механизмом? (идея механизма — что бухгалтера как то перепроводят месяц, я думаю, прошедший период, а другие бухгалтера проводят документы текущего периода, видимо, действительно можно, как то распараллелить — сделать регламентное задание, которое проводили бы документы по очереди, а сами документы просто клались бы в некую очередь — регистр сведений, например).
Спасибо!
…
(текст комментария доступен только участникам Мастер-группы)
Понял, спасибо!
Модуль 5. Урок 12. Распределение нагрузки между серверами.
Вы говорите, что например перенос сервиса фоновых заданий позволит выполнять фоновые задания на указанном сервере, и что можно даже под это выделить отдельный компьютер.
Моя практика показывает, что перенос сервиса приводит только к тому, что на соотв. рабочем сервисе начинают работать планировщики заданий, но сами фоновые задания могут при этом распределяться по всем рабочим серверам.
У нас стояла задача вынести именно сами фоновые задания на отдельный компьютер. В 8.2 решить ее не получилось.
Поправьте, если я не прав.
…
(текст комментария доступен только участникам Мастер-группы)
Спасибо. Вы мне ответили (на стартовой странице курса), что вопросы надо размещать здесь :) Страница появилась, разместил.
Здравствуйте!
После просмотра урока остались следующие вопросы.
1) Если при создании рабочего сервера указать максимально допустимый объем памяти, то что будет с рабочими процессами при достижении ограничения? Рабочие процессы будут перезапущены или новые пользователи не будут направляться на этот сервер? Если второе, то что произойдет с оставшимися пользователями, если какой-то из них начнет выполнять тяжелый запрос, для которого требуется много оперативной памяти?
2) Насколько я понимаю, при добавлении новой базы данных на центральном сервере вручную добавлять ее на остальных центральных серверах не нужно, она добавится автоматически?
3) Рекомендуемый интервал перезапуска рабочих процессов 86400 с, но возможности указать конкретное время перезапуска нет. Правильно ли я понимаю, что если я установлю этот параметр, скажем, в 15:46, то рабочие процессы будут перезапускаться каждый день в это время? И если пользователи в данный момент времени будут выполнять транзакции, то у них появится ошибка? Если мне надо, чтобы процессы перезапускались в 02:00, то параметр мне надо установить именно в это время?
4) Если в кластере несколько серверов (или центральных серверов), на каком из них нужно создавать файл logcfg.xml для включения технологического журнала? Будут ли в ТЖ попадать данные пользователей, работающих на каком-либо сервере, если logcfg.xml указан в каталоге другого сервера? Что будет, если на каждом сервере (центральных серверах) создать свой logcfg.xml?
…
(текст комментария доступен только участникам Мастер-группы)