![]() |
![]() |
![]() |
|
Высокая загрузка CPU сервера. 120 баз | ☑ | ||
---|---|---|---|---|
0
axelload
23.03.19
✎
19:23
|
Количество баз на сервере около 120. Все типовые БУ, ЗУП, КА. очень высокая загрузка процессора под 100% при этом в базах никого нет. во основном нагрузку создают рег. задания. Отключение Обновление индекса ППД благотворно влияет на производительность. Но во всех базах его отключать наверное не выход... кто как решает подобные задачи с таким количеством баз?
|
|||
1
Garykom
гуру
23.03.19
✎
19:33
|
Настроить расписание обновления индексов (и прочих фоновых) так чтобы они выполнялись последовательно в разных база по очереди.
А не все вместе одновременно и тушили один бедный сервак, тормозя друг друга. Еще лучше слить базы если это возможно. Ну или разоряться на апгрейд железа. |
|||
2
Garykom
гуру
23.03.19
✎
19:36
|
Суть в том что два параллельных процесса на одном проце выполняются дольше, чем эти же два на том же проце по очереди по одиночке.
Надо будет опытным путем на основе неких предварительных расчетов подобрать сколько можно одновременно фоновых, так чтобы время завершения было минимально. От числа ядер и еще много чего зависит. |
|||
3
Garykom
гуру
23.03.19
✎
19:37
|
(2) *проце=ядре
|
|||
4
palsergeich
23.03.19
✎
19:45
|
(0) Запуск первого сеанса на пустой базе регламентным заданием - очень ресурсоемкое занятие.
|
|||
5
palsergeich
23.03.19
✎
19:45
|
На ИС была статья исследование на эту тему.
|
|||
6
palsergeich
23.03.19
✎
19:47
|
Там итог статьи в общем - само поднятие 1го сеанса и есть проблема
|
|||
7
palsergeich
23.03.19
✎
19:58
|
Что делать:
1) Ждать, когда вендор обратит на эту проблему внимания 2) В типовых очень много рег заданий с интервалом 10-60 секунд, взять тот же ДО. Увеличивать интервал запуска до раз в час\день. |
|||
8
palsergeich
23.03.19
✎
20:03
|
||||
9
Garykom
гуру
23.03.19
✎
20:13
|
(8) Изучил это какая то багофича начальной загрузки данных в память процесса при холодном старте.
Для случая около 120 баз это лютый ахтунг. Интересно поможет ли создание в каждой базе пустого фонового задания которое постоянно выполняется но не нагружает сервер. "что есть регламентное задание? некая процедура написанная на языке 1С Предприятия и размешенная в общем модуле. сервер 1С по расписанию запускает регламентное задание, а чтобы его запустить, необходимо загрузить конфигурацию ИБ и обработать указанный общий модуль препроцессором, скомпилировать в байт-код, а это все процессорное время даже без выполнения задания. а когда существует активный сеанс к ИБ, то контекст на сервере уже подгружен, но это уже размышления на заданную тему, может оно и не так ) может и фантазирую." И еще в комментариях "А нельзя запустить постоянно работающее регламентное (фоновое) задание? Ну задержка в цикле там или еще чего. Цель - постоянно держать соединение. И пусть оно крутится на каждой из баз. " |
|||
10
palsergeich
23.03.19
✎
20:14
|
(9) Задержка в цикле - проц грузит же.
Можно взять ВК от ЦУП, там есть слип, и им уже держать соединение |
|||
11
palsergeich
23.03.19
✎
20:16
|
Чисто теоретически - должно помочь.
но как будет на практике - не знаю |
|||
12
Garykom
гуру
23.03.19
✎
20:18
|
(10) Ну идея в том чтобы всегда были полные данные (конфа) уже памяти а не каждый раз загружались долго при старте фонового и затем по завершению всех активных оно выгружалось и так по кругу.
Да еще замечал что при начальном старте там дохрена и более служебных заданий которые можно к чертям отрубить. Они слишком тормозят ибо стартуют одновременно мешают друг другу. Всяческие там новости, проверка обновление и прочие встроенные в типовые сервисы типа спарк-риски и прочее. Отрубить их нафуй чтобы не выполнялись при старте. |
|||
13
palsergeich
23.03.19
✎
20:19
|
(12) Эти все перделки включаются в модуле управляемого приложения и при регламентном задании не влияют никак
|
|||
14
Garykom
гуру
23.03.19
✎
20:22
|
(13) Не факт что они тоже не запускаются даже при серверном/служебном сеансе первом.
И еще может быть банальная проблема нехватки оперативки на каждый такой сеанс. Надо чтобы для одновременного холодного старта было >4 гигов на каждый из сколько их там из 120. |
|||
15
palsergeich
23.03.19
✎
20:24
|
(14) Факт, в При начале работы системы и перед началом работы системы кодом явно вызываются.
В регламентном задании модуль управляемого приложения не компилируется и не запускается |
|||
16
palsergeich
23.03.19
✎
20:25
|
https://yadi.sk/i/kX_deHR8zh5y8A Вот же они.
|
|||
17
palsergeich
23.03.19
✎
20:27
|
Проверить просто - воткни запись в ЖР в этих событиях и все вопросы сразу отпадут.
|
|||
18
Garykom
гуру
23.03.19
✎
20:28
|
А проверка/защита лицензионности и поиск ключей не может быть долгим?
|
|||
19
Cyberhawk
23.03.19
✎
20:56
|
(14) Откуда инфа про 4 гига? Даже при многопользовательской работе ЕРП не жрет более 4 гигов на старте, плавно разрастаясь до 8-10 через пару десятков минут работы пользователей. А в топике конфы раза в два меньше чем ЕРП.
|
|||
20
Garykom
гуру
23.03.19
✎
20:59
|
(19) Одна база.
А у ТС их 120, в каждой конфа в память грузится блин и требует свои 4 гига на старте, дальше спокойно юзеров пускает. Вряд ли сервер 1С такой вумный что идентичные конфы грузит только один раз и совместно использует. |
|||
21
Garykom
гуру
23.03.19
✎
21:01
|
Как думаем почему по фреше 1С разных клиентов в одной базе реальной держит со своей доработкой с префиксами и http://v8.1c.ru/overview/Term_000000788.htm
Думаю и конфа там одна на всех. |
|||
22
Garykom
гуру
23.03.19
✎
21:01
|
Короче пусть ТС сливает базы и не страдает.
|
|||
23
Garykom
гуру
23.03.19
✎
21:03
|
Или лучше купит фреш и внедрит, если это чужие базы а он просто сервер сдает в ними сторонним клиентам.
https://habr.com/ru/company/knopka/blog/324662/ |
|||
24
Cyberhawk
23.03.19
✎
21:33
|
(21) 1С во фреше держит клиентов физически в разных базах, но с одним путем входа. Сколько реально областей данных в одной физической базе хз, но кажется что меньше нескольких десятков.
|
|||
25
Cyberhawk
23.03.19
✎
21:34
|
(20) "120, в каждой конфа в память грузится блин и требует свои 4 гига на старте" // Ничо там не требуется в таких объемах. Это ты где-то такое наблюдал?
|
|||
26
Garykom
гуру
23.03.19
✎
21:37
|
(24) Плиз пруф можно про разные базы для каждого клиента?
В ссылке (23) написано что база одна. |
|||
27
Garykom
гуру
23.03.19
✎
21:38
|
(25) Попробуй одновременно 10 файловых баз локально запустить и засечь время.
А затем их же но по очереди. И за нагрузкой следи на систему. Тут конечно совсем не то но очень схожая картинка должна наблюдаться, особенно если железо слабое и оперативки мало. |
|||
28
Cyberhawk
23.03.19
✎
21:43
|
(26) "Количество областей в одной базе это компромисс, который обусловлен многими факторами, оно может быть очень разным, мы для себя выбрали 200. Сам кластер должен состоять из менеджера сервиса, агента сервиса и нод (серверы БД, серверы приложений, web-сервис), когда количество областей становится более двухсот, разворачивается следующая нода"
|
|||
29
Cyberhawk
23.03.19
✎
21:44
|
(27) Какие файловые, какая нагрузка на систему? Я про 4 гига спросил, речь-то вроде о сервере 1С и потреблении памяти оным. Ты вроде писал про какие-то 4 гига, мне и интересно, откуда там столько.
|
|||
30
Garykom
гуру
23.03.19
✎
21:50
|
(29) Это из рекомендаций для файловой базы локальной в 8 гигов (УФ) и вычел рекомендацию 4 гига для клиента если база серверная.
Итого 4 гига на базу на сервере, даже если всего один сеанс, но при увеличении кол-ва сеансов для одной базы нет такого дикого роста. Конечно думаю все не так просто в реальности и еще много чего не учитываю. |
|||
31
Garykom
гуру
23.03.19
✎
21:51
|
(29) Я же написал что это просто аналогия.
Ну возьми два компа (или виртуалку) разверни сервер 1С и попробуй смоделировать ситуацию ТС, следя сколько используется оперативки. |
|||
32
Garykom
гуру
23.03.19
✎
21:56
|
Просто я очень сомневаюсь что код "сервера" для файловой и sql-серверной базы сильно очень отличается.
Т.е. оно конечно отличается но думаю все равно в основе файловой некий sql движок и та же трансляция запросов по загруженной в оперативку конфе. Но сервер использует одну копию загруженной конфы для базы на несколько сеансов. |
|||
33
Cyberhawk
24.03.19
✎
07:57
|
(30) Так это ты с учетом клиента, ясно
|
|||
34
Провинциальный 1сник
24.03.19
✎
08:26
|
(32) "Но сервер использует одну копию загруженной конфы для базы на несколько сеансов."
Не сервер, а рпхост |
|||
35
axelload
24.03.19
✎
10:32
|
Получается выход один разделение данных?
|
|||
36
palsergeich
24.03.19
✎
10:48
|
(35) Нет ну конечно есть еще вариант - сделать кластер и вынести регламентные и фоновые на отделенную машину, но поможет ли это - я не знаю.
|
|||
37
pavig
24.03.19
✎
10:50
|
(35)
Тут видимо можно провести интересную исследовательскую работу. Попробуй сначала способом из (10) То есть у тебя в каждой базе всегда должен быть запущен как минимум один фоновый сеанс на сервере. В таком случае для каждой базы всегда будет загруженный в памяти контекст, что значительно снизит затраты на старт фоновых заданий в случае, когда в базе нет ни одного сеанса. Реализовать это - раз плюнуть. Сделай плиз, отпиши сюда. Страсть как интересно. |
|||
38
dmpl
24.03.19
✎
10:55
|
(7) А можно просто в каждую базу зайти дефолтным юзером ;)
|
|||
39
dmpl
24.03.19
✎
10:58
|
(9) Если зайти пользователем, то соединение держать не надо - там же пинг идет, пока клиент жив - остальное остальные запускаются быстро.
|
|||
40
Злопчинский
24.03.19
✎
11:04
|
Если устраивают реактуальные ппд то пусть они и будут не актуальными. Забить на них и все
|
|||
41
pavig
24.03.19
✎
11:11
|
(36)
Это даст только то, что забьется под 100% сервер с регламентными заданиями. Ну если конечно он не на 120 ядер) |
|||
42
palsergeich
24.03.19
✎
13:45
|
(39) Регламентные задания не потребляют пользовательскую лицензию.
120 лицензий все таки уже стоят значительную сумму денег. (39) Я пробовал пинг - не взлетело, ну а разбираться инфраструктурщики не захотели. |
|||
43
dmpl
24.03.19
✎
14:24
|
(42) 1. Аппаратный ключ позволяет с 1 компа запустить все 120 баз на 1 лицензии ;)
2. Пинг не ICMP, а от клиента к кластеру. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |