0. a.doroshkevich 473 24.09.18 08:16 Сейчас в теме

Кластер серверов 1С

Какой уровень отказоустойчивости при проектировании серверов 1С выбрать? В чем отличия центрального и рабочего сервера? Как правильно настроить требования назначения функциональности? На что влияют настройки кластера и сервера 1С и как в них не запутаться? Антон Дорошкевич дает на эти и многие другие вопросы подробные ответы.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. AlX0id 24.09.18 12:51 Сейчас в теме
Если у вас высоконагруженная система, более 1000 пользователей, и вы сделаете так, что у вас сервер программного лицензирования серверу 1С выдает его серверную лицензию, то при каждом серверном вызове этих 1000 пользователей, сервер 1С будет запрашивать у сервера программного лицензирования свою лицензию, проверять есть или нет.

Мне кажется, или запрашивать лицензию на каждый серверный вызов - это довольно странное поведение? Он точно так делает?
3. capitan 1225 24.09.18 13:09 Сейчас в теме
(1)Я бы рекомендовал писать например как Пушкин — Ума холодных наблюдений / И сердца горестных замет — автора.
Но никак не рекомендация для последователей
А всем остальным не верить слепо всему что здесь написано
6. a.doroshkevich 473 25.09.18 05:06 Сейчас в теме
Напишите ваше сообщение
(1)
Мне кажется, или запрашивать лицензию на каждый серверный вызов - это довольно странное поведение? Он точно так делает?


К сожалению это поведение повторяется и на последних платформах, я не могу за разработчиков платформы 1С ответить - нормальное это поведение или нет.
Но то что расположение серверных лицензий на отдельном сервере лицензировании приводит к неработоспособности кластера при высоких нагрузках - это печальный факт.
2. capitan 1225 24.09.18 13:05 Сейчас в теме
Не очень понятно, автор опровергает официальную документацию Клиент-серверный вариант. Руководство
администратора или перепечатывает ее ?

Таким образом, можно вывести следующую формулу, связывающую количество центральных серверов в кластере
и уровень отказоустойчивости: Количество центральных серверов = Уровень отказоустойчивости+1.
© документация 1С


Про 0 в настройках ограничения памяти много букв, но нет букв про настройку "-1" это как раз и есть отсутствие ограничений по памяти
Максимальный объем памяти, занимаемой рабочими процессами и Безопасный расход памяти за один вызов лучше как раз в "-1" выставлять


Ну и каламбур напоследок:
никакие настройки кластера или сервера 1С не заставят вашу 1С работать быстрее
а вот никакие настройки кластера или сервера 1С заставят вашу 1С работать медленнее

это уж точно - 100%
5. a.doroshkevich 473 25.09.18 05:05 Сейчас в теме
(2)
Про 0 в настройках ограничения памяти много букв, но нет букв про настройку "-1" это как раз и есть отсутствие ограничений по памяти
Максимальный объем памяти, занимаемой рабочими процессами и Безопасный расход памяти за один вызов лучше как раз в "-1" выставлять


И вы положите на лопатки сервер 1С в самый неподходящий момент.
14. capitan 1225 25.09.18 14:46 Сейчас в теме
(5) с чего бы я интересно положу сервер 1С ?
при таких настройках серверу 1С будет доступна вся память на сервере не более того,
даже если он ее всю займет система будет дико свопить но не устанет
а с какой целью оставлять 20 % ?
20. a.doroshkevich 473 25.09.18 18:48 Сейчас в теме
(14)А Вы рискните и попробуйте поставить -1 на реально нагруженной с системе, где тысячи сеансов и /или сотни баз...
23. capitan 1225 26.09.18 10:00 Сейчас в теме
(20) но и смысла оставлять там 20% незагруженной памяти согласитесь смысла нет
26. a.doroshkevich 473 26.09.18 11:01 Сейчас в теме
(23)не соглашусь. Смысл есть, так как именно такой запас не заставит систему свопить, что крайне негативно может сказаться на работе 1С
Поймите - настройка сервера и кластера 1С преследуют цель СТАБИЛЬНОЙ работы, поэтому чем-то придётся жертвовать ради стабильности. Где-то это будут запасы ресурсов, где-то удаление сессии по лимиту памяти, где-то выключение рабочего процесса опять же по лимиту и т.д.

Если цель - максимальная утилизация ресурсов, тогда можно и -1 везде поставить, только о стабильности в этом случае останется только мечтать
7. a.doroshkevich 473 25.09.18 05:07 Сейчас в теме
Напишите ваше сообщение
(2)
Не очень понятно, автор опровергает официальную документацию Клиент-серверный вариант. Руководство
администратора или перепечатывает ее ?


Ни в коем случае! Я делюсь реальным опытом, а не просто цитирую ИТС.
15. capitan 1225 25.09.18 14:47 Сейчас в теме
(7) я к тому что в документации другое мнение насчет кластера чем у вас
Таким образом, можно вывести следующую формулу, связывающую количество центральных серверов в кластере
и уровень отказоустойчивости: Количество центральных серверов = Уровень отказоустойчивости+1.
© документация 1С
19. a.doroshkevich 473 25.09.18 18:46 Сейчас в теме
(15)а в реальной жизни немного по другому)
Если у вас 2 центральный и уровень =1, то при выходе из строя одного сервера у вас уже не кластер.
25. capitan 1225 26.09.18 10:48 Сейчас в теме
(19) Я просто ставлю под некоторое сомнения
При уровне «один» вам нужно уже как минимум три сервера, поскольку вы уже настраиваете кластер, а он по умолчанию отказоустойчивый, и при выходе одного центрального сервера два должны остаться в работе. Но если из строя выйдет еще один центральный сервер – кластер откажет в соединении.

потому что на своем опыте знаю и в документации буквами по белому написано что это не так.
Возможно что-то поменялось в этом мире ,тогда меня поправят знатоки
28. a.doroshkevich 473 26.09.18 11:16 Сейчас в теме
(25)
Я просто ставлю под некоторое сомнения


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

Фраза в докладе относится к уровню = 2

Спасибо!
9. a.doroshkevich 473 25.09.18 05:14 Сейчас в теме
Напишите ваше сообщение
(2)
а вот никакие настройки кластера или сервера 1С заставят вашу 1С работать медленнее


Вы точно не путаете Сервер 1С и Сервер БД?
Настройки Сервера 1С по умолчанию обеспечивают отличный уровень скорости.
16. capitan 1225 25.09.18 14:51 Сейчас в теме
(9) Настройки Сервера 1С по умолчанию обеспечивают отличный уровень скорости при неограниченных ресурсах сервера
т.к. они в принципе настраивают ограничения по памяти
В таком варианте и сервер БД не надо настраивать - там тоже все по максимуму по умолчанию (не касается Postgres)
а в реальной жизни - 100 пудняк надо настраивать
4. =Xela= 24.09.18 13:45 Сейчас в теме
Коллеги, кто-нибудь может поделится опытом. Насколько в настоящий момент отказоустойчив отказоустойчивый кластер серверов 1С?
Если есть необходимость обеспечить работу 500-1000 пользователей с порядка 100 ИБ с разными функциональными задачами, то можно ли полагаться на решение - один кластер серверов 1С с N серверами. Или стоит все же разделить ИБ на группы и для каждой группы организовать кластер серверов?
8. a.doroshkevich 473 25.09.18 05:12 Сейчас в теме
(4) Какой режим отказоустойчивости предполагается? Система 24/7 или как?
Базы достаточно изолированы по бизнесу? Т.е. можно ли без последствий отключить доступ к группе баз на время или они все связаны друг с другом?
11. =Xela= 25.09.18 10:43 Сейчас в теме
(8) Есть несколько подразделений, в каждом эксплуатируется по 4 ИС с разными функциональными задачами. В 3-х из них есть периоды, в которые производится массовое формирование документов\расчетов. Периоды эти совпадают и по дням и по времени (практически) во всех подразделениях.
Я точно понимаю, что SQL серверов будет несколько, т.к. ни одна железка не вытянет такую нагрузку, а вот как организовать серверы 1С, исходя не из теоретических возможностей платформы, а из практического опыта коллег.
12. a.doroshkevich 473 25.09.18 10:51 Сейчас в теме
(11)
Я бы тогда сделал так:
На каждое подразделение создаём свой кластер с их базами.
Тогда при необходимости перезапустить rmngr, а такое может случится, то рисков задеть другое подразделение нет

Серверов 1С сделал бы 2, оба центральные с распределением нагрузки по производительности и уровнем отказоустойчивости = 0

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

Если нужна более подробная проработка инфраструктуры, то пишите в личку
17. capitan 1225 25.09.18 14:53 Сейчас в теме
(12)
уровнем отказоустойчивости = 0
вообще не предполагает отказоустойчивости
18. a.doroshkevich 473 25.09.18 18:45 Сейчас в теме
(17)всё сильно зависит от задачи. 1 тоже не равно отказоустойчивость при неправильно спланированной структуре ит
10. lazarenko 200 25.09.18 08:47 Сейчас в теме
Дополнение
Безопасный расход памяти за один вызов связан с Максимальный объем памяти, занимаемой рабочими процессами, сеанс будет прерван если было превышено оба предела, а не только связан Безопасный расход памяти за один вызов
13. a.doroshkevich 473 25.09.18 12:14 Сейчас в теме
(10)Да, всё верно.

Вот цитата из статьи "Система проверяет, не превышает ли изначальный объем оперативной памяти на весь кластер, плюс память на этот вызов сумму максимального объема памяти на кластер и максимального расхода памяти на вызов. Если превышает, то этот сеанс будет завершен."

Вроде то же самое, но другими словами)
21. dim369 26.09.18 09:33 Сейчас в теме
Прекрасная статья, одно из самых подробных встреченных описаний )) Вопрос - это реальный опыт? Сколько примерно серверов (баз данных и приложений), баз, пользователей? Хотя бы примерное описание. Спасибо.
22. a.doroshkevich 473 26.09.18 09:36 Сейчас в теме
(21)Спасибо!
Да, опыт реальный.

Есть несколько систем.
В одной 400+ баз, 600+ сеансов, 4 сервера в кластере, внутри серверов по 10 кластеров 1с
В другой 20 баз, 2000+ сеансов, 12 серверов в 4 кластерах
Ещё в одной, 1 база, пока 300 сеансов, но будет 1000, тут пока 2 сервера в кластере

Это те инсталяции что могу разглашать хотя бы в цифрах)
user_atol; dim369; +2 Ответить
29. =Xela= 26.09.18 13:19 Сейчас в теме
(22)
Очень важно, каков режим эксплуатации ИС и количество "ключевых" объектов в базах.
Могут 200 человек вводить заявки сервис-деска и в этом случае нагрузка будет очень вялой, а может один человек запускать пакетный расчет счетов на оплату в биллинговой системе на 300 тыс. абонентов и это будет очень большая нагрузка на серверы.

Например, кейс:

30 БД ИС ЗУП , среднее количество сотрудников в каждой - 1000. Расчет ЗП производится практически в одно и тоже время. Количество расчетчиков в каждой ИС ~ 10.

Какое количество серверов (особенно SQL серверов) с грубой оценкой ОЗУ и ядер процессора Вам представляется достаточным?
30. a.doroshkevich 473 26.09.18 13:29 Сейчас в теме
(29)Пальцем в небо не гадаю)
Нужно производить замеры и только тогда формировать инфраструктуру.


(29)
Очень важно, каков режим эксплуатации ИС и количество "ключевых" объектов в базах.
- полностью согласен!
24. nvv1970 26.09.18 10:04 Сейчас в теме
Ох как внезапно некоторые утверждения расходятся с ИТС.

При уровне «один» вам нужно уже как минимум три сервера
что это? Просто рекомендация, а не требование?

Несмотря на то, что эта настройка относится к параметрам рабочего сервера 1С, это – тот объем памяти, который могут занимать все рабочие процессы кластера 1С
т.е. память всех серверов в кластере? Что разработчики по этому поводу говорят? Может это ошибка? Задавали вопрос? Дайте ссылку на партнёрку.

Есть ещё вопросы по реплициремым сервисам между ЦС при уровне отказа=1.
В 8.3.12 поведение мне кажется отличается от 8.3.9 и 8.3.10. Сам ещё в процессе теста, не готов нечего утверждать, но стоит всем обратить внимание, что ситуация может отличаться на актуальных релизах
27. a.doroshkevich 473 26.09.18 11:04 Сейчас в теме
Напишите ваше сообщение
(24)
При уровне «один» вам нужно уже как минимум три сервера
что это? Просто рекомендация, а не требование?
- рекомендация.


(24)
т.е. память всех серверов в кластере? Что разработчики по этому поводу говорят? Может это ошибка? Задавали вопрос?
- не задавал так как нет смысла, это поведение описано на ИТС и не является ошибкой, я просто обратил на это внимание, так как с чисто интерфейсной точки зрения возникает путаница
31. nvv1970 26.09.18 18:57 Сейчас в теме
(27) "Максимальный объем памяти рабочих процессов"
Максимальный объем памяти (в байтах), доступный всем рабочим процессам кластера на данном рабочем сервере.
Каждый рабочий процесс кластера определяет объем памяти, занимаемой всеми рабочими процессами кластера на этом рабочем сервере........ и т.д

Вот поэтому и возник вопрос. Везде и всегда говорится, что это память отдельного сервера в кластере, а не память всех серверов в кластере.
Можете дать ссылку, где "это описано на ИТС"?
32. Vladimir Litvinenko 27.09.18 00:12 Сейчас в теме
(31) Кроме того, возникает вопрос, если на уровне одного рабочего сервера задается настройка для кластера в целом, то что будет, если задать разные значения этой настройки для разных рабочих серверов одного и того же кластера? Какая из них будет более приоритетной?

Скорее всего здесь все таки неточность и настройка "Максимальный объем памяти рабочих процессов" все таки относится к рабочим процессам одного рабочего сервера.
33. a.doroshkevich 473 27.09.18 03:13 Сейчас в теме
(

(32) да, вы правы, тут неточность.
Видимо во время выступления неточно выразился.
Делал акцент на то что это совокупная память всех рабочих прцессов рабочего сервера.

Ещё раз спасибо за внимательность!
34. user_atol 01.11.18 14:09 Сейчас в теме
Добрый день. можно уточнить фразу в шапке?
В платформе 8.3.9 произошло долгожданное событие – кластер серверов 1С заработал. С того момента, когда о нем объявили в 8.3.6, до момента, когда он в 8.3.9, наконец, заработал, прошло много лет
я правильно понимаю, что если настроен 1 центральный сервер на одной тачке и рабочий сервер на 2ой тачке, то в случае падения центрального сервера все пользователи "переедут" на рабочий сервер и для них всё будет выглядеть комфортно, но новые пользователи подключиться к базе не смогут?
37. a.doroshkevich 473 03.11.18 16:10 Сейчас в теме
(34)Нет, не правильно. В случае если центральный сервер 1 и он упал, то вся работа с 1С прекращается у всех. И зайти тоже никто не сможет
39. user_atol 06.11.18 09:27 Сейчас в теме
(37) то есть, центральных серверов может быть несколько ?
40. a.doroshkevich 473 06.11.18 09:53 Сейчас в теме
(39)Да

Вы лучше напишите какую задачу хотите решить?
41. user_atol 06.11.18 10:03 Сейчас в теме
(40) задача очень проста - реализовать отказоустойчивый сервер 1С.
42. a.doroshkevich 473 06.11.18 10:10 Сейчас в теме
(41)Эта задача очень не проста)
Не буду пересказывать статью, в ней по идее прям инструкция по настройке.
Пробуйте и потом спрашивайте, если что-то не получится
43. user_atol 06.11.18 11:28 Сейчас в теме
(42) так и думал) вы спросили - я ответил)
35. tindir 03.11.18 12:10 Сейчас в теме
Очень умиляет, что 1С в погоне (пусть и очень оправданной) не разграничивает лицензирование серверов на Простые и Корп, а только парой строк в лиц. соглашении - что если у вас не Корп, то вот эти настройки трогать вам нельзя, хотя они доступны и работают.
38. a.doroshkevich 473 03.11.18 16:11 Сейчас в теме
Напишите ваше сообщение
(35)Такой халявы остался примерно год, в одной из новых версий платформы (пока точно не известно какой) ограничения будут работать на техническом уровне
44. tindir 07.11.18 03:39 Сейчас в теме
(38) То есть они вынесут доступность настроек "на ключ" и наконец починят балансировщик нагрузки, самоотчистку кешей у серверов в останове, управление лицензиям и кучу проблем с формуа разработчиков? :) или , как вы думаете, это будет просто фига за отдельные бабки?
45. a.doroshkevich 473 07.11.18 04:14 Сейчас в теме
(44) Вынесут, по крайней мере такие планы озвучивались на партнёрском семинаре.
Починить всё невозможно и все это понимают.
Я не думаю что будут прям отдельные версии корп-платформы с меньшим количеством ошибок)
Опять же, это моё мнение, и оно может сильно отличаться от мнения разработчиков платформы
36. acanta 60 03.11.18 12:27 Сейчас в теме
Это называется доверие и уважение клиентов, которые подняли свой бизнес вместе с 1с от базовой до корп версии. Сейчас оно несколько не современно выглядит, время такое.
46. saa@kuzov.org 08.11.18 02:17 Сейчас в теме
Мне очень стыдно за мою узкую 1сность, в теории и в лабораторных условиях (стенд) я делал и тестировал отказоустойчивый кластер.
2 виртуальные машины под серверы 1С, 1 виртуалка - клиент, 1 виртуалка СУБД.
Потестировал, убедился, забыл.

Но при этом убей не знаю как быть с сервером СУБД в том случае, если нужно разнести ноды отказоустойчивого кластера по разным датацентрам. 2 СУБД? На каждом ЦС указывать адрес "своей" СУБД? а как СУБД будут ли они синхронны? Не будет ли потерь данных, если, например, вырубить одну ноду по питанию?
Очень интересует инфа и по MS SQL, и по PG.
47. a.doroshkevich 473 08.11.18 02:52 Сейчас в теме
С СУБД всё намного сложнее.
1С не умеет работать с несколькими серверами субд для одной базы у указать для каждого ЦС свой адрес базы бд невозможно, поэтому отказоустойчивость субд отдана на откуп самой субд.

В случае с ms это always on
В случае с pg это синхронная/асинхронная (в зависимости от задачи) репликация + система переключения в случае отказа мастера

При вырубании ноды потеряются незавершенные транзакции в случае синхронных реплик, в случае асинхронных есть риск потери помимо незавершённых ещё некоторого количества транзакций.
G.Shatrov; deaddy64; +2 Ответить
48. sparhh 05.03.19 09:21 Сейчас в теме
Один из первых вопросов, который возникает при проектировании серверов 1С, это какой уровень отказоустойчивости выбрать – 0, 1, 2, 3, 8, 10?

На практике в 99% случаев почти на любых высоконагруженных системах хватает уровня «ноль». Главное, грамотно настроить соотношение центральных и рабочих серверов 1С.


Если поставить 0, то выход из строя центрального сервера, остановит работу всего кластера.
Так зачем же 0 оставлять?
Начало статьи полностью противоречит ИТС инструкциям и картинкам.
49. a.doroshkevich 473 06.03.19 07:14 Сейчас в теме
(48) Вы полностью неправы.
Перечитайте ИТС, а лучше попытайтесь настроить и протестировать работу кластеров 1С с уровнем 0, но 2-мя центральными серверами.
50. sparhh 06.03.19 09:31 Сейчас в теме
(49) Вполне возможно, я и рад буду если не прав.
А в чем тогда смысл "отказоустойчивости", если по факту она как бы не вулючается - уровень отказоустойчивости = 0.
Но при этом по описываемой вами схеме юзер все равно может переключиться на другой центральный сервер.
Тут я запутался.
51. a.doroshkevich 473 06.03.19 09:43 Сейчас в теме
(50) Сможет переключиться, но только перезапустив 1С, это единственный минус этой схемы.
52. sparhh 06.03.19 10:08 Сейчас в теме
(51) Если так, то вполне приемлимо.
Скажите, а можно ли рассматривать в самом простом случае схему из 2 центральных серверов как "рабочий" вариант?
53. a.doroshkevich 473 06.03.19 10:35 Сейчас в теме
(52)Да, это как раз самый рабочий вариант
54. sparhh 06.03.19 11:28 Сейчас в теме
(53) А накладные расходы в этом случае насколько существенны? Если оба сервера центральных, то как я понимаю тратятся ресурсы на их синхронизацию.
55. a.doroshkevich 473 06.03.19 11:47 Сейчас в теме
(54) Там совсем немного, главное это обеспечить 1Гбит-сеть между серверами
56. pavelkusov 27.05.19 12:58 Сейчас в теме
Пытаемся, пока без особых успехов увеличить быстродействие сервера 1С.
Сейчас используем 1С:Предприятие 8.3 (8.3.14.1565) 64бит на виртуалке
Intel® Xeon® CPU E5-2690 v2 @ 3.00GHz 12 ядер 32 гб памяти. Не менее 10Гб памяти в пике нагрузки остается свободной. БД Oracle 11
Параллельно работе пользователей крутятся файловые обмены с примерно 200 базами. Обмены идут в 5 потоков, запуск через каждые 5 минут, где то за 3 - 4 минуты все 200 баз обмениваются. И всё бы хорошо, но периодически (каких то четких периодов нет, то через 5 минут идет залипание, то через 20 минут) 1С залипает и тогда пользователи (пользователей не больше 30) получают неадекватно долгий (десятки секунд) отклик системы и обмены тоже уже не за 4 минуты, а могут и 10 минут работать. Если эти обмены отключить, то залипаний нет.
Пробовали устанавливать виртуалку на SSD - видимых улучшений нет. Нагрузка на БД не значительная. В основном, судя по консоли ММС идет время серверных вызовов.
Еще пробовали плодить рабочие процессы, но механизм не рабочий. При заходе новых пользователей рабочий процесс rphost создается, а вот при старте фонового задания - нет. В итоге фоновые задания, которые не влезли в процесс отваливаются с ошибкой.
Так же, не знаю зачем ставили галку - менеджер под каждый сервис. Тоже глюк. фоновые задания после перезагрузки сервера перестали выполняться по расписанию - иногда запускаются, но в основном нет.
Еще пробовал ставить ограничение потребления ресурсов на процессорное время. По началу вроде заработало. Обмены стали идти медленнее, залипания пропали. Но после перезагрузки сервера 1С из за этого ограничения пользователи не могли зайти в программу.
Нагрузка на процессор - в общем 20 - 30% но нагрузка на ядра распределена очень неравномерно, какие то ядра вообще почти простаивают. Гилев тест показывает 10 - 12.
Кто то может что то посоветовать? Где еще этот ОдинЭс подкрутить?
57. fiz0 23.07.19 10:00 Сейчас в теме
Доброго дня!

Имеется дилетантский вопрос на который не могу найти конкретного ответа:

Вот падает у нас первый центральный сервер, как на сетевом уровне клиент при переподключении поймёт как ему подключиться к второму центральному серверу? Всё через порты?
59. a.doroshkevich 473 24.07.19 13:52 Сейчас в теме
(57)если 2 центральных, то у клиента прописывается 2 сервера через запятую в параметрах подключения к базе.
58. vsnazarov 24.07.19 12:07 Сейчас в теме
Здравствуйте, вопрос возможно не совсем по этой теме, но все же:
возможно ли Имя кластера указать как base.mydomen.ru ?
чтобы в хосте на удаленных компьютерах не прописывать ip | имя кластера...
60. a.doroshkevich 473 24.07.19 14:18 Сейчас в теме
(58)для работы удаленно правильно использовать http-публикацию 1С и тогда никаких проблем.

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

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Москва
зарплата от 120 000 руб.
Полный день

Руководитель проекта, аналитик, консультант
Санкт-Петербург
По совместительству

Программист 1С
Самара
зарплата от 100 000 руб. до 150 000 руб.
Полный день

Бизнес-аналитик 1С
Москва
зарплата от 140 000 руб. до 200 000 руб.
Полный день