8.х Процесс Сервера Rphost И Количество Соединений В Нем

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

  1. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Приветствую всех.

    Озадачился я что-то вдруг на тему: А сколько процессов rphost в кластере сервера 1С нужно запустить, чтобы каждый из них чувствовал себя вольготно (не "зашивался")?
    Подозреваю, что количество процессов связано с количеством соединений к кластеру :icon_avatar-174: . А вот сколько соединений на процесс оптимально? Понятно, что можно поназапускать их так (насколько это позволяет железо), что на один процесс будет одно соединение, но что-то мне подсказывает, что это не есть оптимально. Кто-нибуть проводил эксперименты?

    И еще интересно: Имеет ли смысл в кластере запускать дополнительные менеджеры (процесс rmngr). По информации с диска ИТС - есть. Запустил, понаблюдал - дополнительный менеджер "мертв" при очень активном главном менеджере. Правда, сервер не перезапускал после создания доп. менедежера.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Исходить надо из множества факторов.
    1. Память. На каждый процесс минимум 2Гб памяти
    2. Кол-во. На каждый процесс рекомендуется 50-100 пользователей
    3. Официально на 64х 1С рекомендует один процесс

    ДОп. менеджеры имеет смысл запускать только для отладки, а так: только если на отдельном сервере (иначе смысла нет)
  3. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Расскажу все попорядку:

    Имеем: Сервер 1С: Intel Xeon 1.9 ГГц, 8Гб. Win 2003 SP2 x64 Платформа в данный момент 8.2.14.540

    Серверу лет 5.

    Поначалу, после ввода сервера в строй, пользователей было менее 10-ка. Я никак не настраивал кластеры после установки. Все всех устраивало.
    Через некоторое время (с ростом количества пользователей и баз) пользователи начали жадлваться на "тормоза".
    Почитав литературу, я довел количество кластеров до 4-х и в одном из них, где крутится самая главная база (УТ), увеличил число рабочих процессов до 4-х. Работа пошла. К сожалению, тогда я не обратил внимание сколько соединений в среднем приходится на 1 процесс.
    При этом, как я заметил, один процесс берет под себя примерно 500МБ памяти плюс-минус 200МБ (вмешиваться и править объем памяти на процесс вручную нет желания). Причем эта цифра не зависит от количества процессов в кластере.

    Сейчас количество пользователей увеличилось примерно до 50-ти, каждый пользователь создает 2 соединения в кластере (вход в 2 базы). Опять жалуются на тормоза. Увеличил количество процессов до 7-ми. Жду реакции пользователей.

    Загрузка процессора сервера в пиковые моменты работы не превышает 30% независимо от количества процессов кластеров.

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

    PS В следующем месяце заменю сервер на новый, может тогда и правда достаточно будет 1 процесса.
  4. shurikvz
    Offline

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

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

    Дополните свое описание:
    Сообщите - настроены и выполняются ли регламентные задания ms sql. (кстати не увидел у вас ms sql используется или как)
    Опишите дисковую подсистему.
    Опишите как (где) расположены системные файлы и файлы ms sql (базы данных).

    З.Ы. Также ознакомьтесь вот с этой [topic='35449']темой[/topic], сделайте (ну и покажите :) ), указанные в ней замеры производительности.
  5. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Приветствую.

    Ваши вопросы логичны и понятны, однако, в случае, если бы "узкое" место было в железе сервера 1С, сети или на сервере SQL, то увеличение количества процессов в кластере не приводило бы к ускорению работы.
    Довел количество процессов в кластере с самой активной базой до 9-ти. В результате количество соединений на процесс не превышает 10-ти. Работа пошла.

    А регламентные задания MS SQL выполняются, правда я не настраивал их. Буду признателен за полезную информацию в этом вопросе.

    На подходе новый сервер 1С. Как запущу, отпишусь.
  6. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Вот здесь описано: http://kb.1c.ru/articleView.jsp?id=13 (требуется подписка на ИТС).
  7. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Спасибо!
  8. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Вопрос возник по ходу создания регламентных операций:

    Добавил в субплан задачу "Обновление статистики" для одной конкретной базы. Далее по описанию необходимо подцепить следом задачу по очистке процедурного кэша DBB FREEPROCCACHE. Как я понял будет очищен процедурный кэш для всех баз на сервере. Это не страшно? Или я не так понял?

    Заранее спасибо.

    И еще раз спасибо за ссылку на ресурс. Давно мечтал о такой.
  9. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    А у вас на SQL сервере помимо баз 1С еще какие-то крутятся? (на которые повлияет очистка процедурного кэша)
    Насколько я в курсе интервал вызова этих процедур выбирается эмпирическим путем, в зависимости от числа пользователей, и четких критериев нет.

    С MS SQL сервером я знаком только на минимальном уровне, требуемом для работы и обслуживания 1С, поэтому люди более разбирающиеся в MS SQL вам подробнее объяснят.
  10. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    На SQL крутятся только 1С-ные базы.

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

    На худой конец, можно пока поробовать без очистки кэша, как я понял, эта процедура может быть опциональной.
  11. nn-pugachev
    Offline

    nn-pugachev

    Регистрация:
    18 янв 2012
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    1
    вот этим самым эмпирическим путем установлено, что dbcc freeproccache практически обязательна после обновления статистики.
    просто sql server при обработке запроса ищет план выполнения в кэше, и если находит его там, то выполняет его, а после обновления статистики он может оказаться неоптимальным.

    можно почистить не сразу все планы, а, скажем по пулу ресурсов (которые еще настроить перед этим надо), или конкретные планы запросов по их кодам.
    коды можно вытащить запросом
    select plan_handle, st.text from sys.dm_exec_cached_plans CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st where st.text like N'%from _%'
    таблицы 1С начинаются с символа _, поэтому вытащит их. запрос очень неспешный. поэтому лучше уж все и сразу убивать.
  12. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Если для запроса нет статистики и нет кэша, то план запроса формируется заново и записывается в кэш, как я понял. Думаю, что не буду мудрить - пусть кэш удаляется весь.

    В моем случае, время обновления статистики для одной, не самой популярной базы, составляет около часа. Если обновлять статистику для всех имеющихся баз, то ночи не хватит, а загружать этим процессом сервер во время активной работы пользователей нет желания. Ограничусь несколькими базами.
  13. TopicStarter Overlay
    Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Отошли мы немного от первоначальной темы.

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

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

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