rphost грузит процессор

1. Vormat 13.02.25 11:52 Сейчас в теме
Добрый день

Есть база, которая достаточно долго работает и за которой я больше года слежу в плане производительности. Условно знаю примерно все не оптимальные места по запросам, которые выполняются на MS SQL, все ее слабые стороны и т.д.
Настроен apdex, который по моим ключевым показателям держиться на уровке 0,97-0,98. Если показатель падает, то я примерно вижу из-за чего, знаю что нужно поправить.
Все это написал для того, чтобы сказать что за базой слежу, знаю ее как родную, постоянно мониторю.

Но тут не с того не с сего, стала расти нагрузка на процессов сервером 1С. Т.е. один из rphost стал жрать ЦП от 50 до 70 процентов, условно пока не упрется в 100%. И никаких предпосылок для этого у него не было. Не было каких до доработок, каких-то новых натсроек и т.д. Либо они прошли в пользовательском режиме и я этого не заметил. По запросам на MS SQL так же не появилось чего-то нового. Показатели MS SQL, те что в "хранилище запросов" остались без изменения. Т.е. количество строк в хапросах, cpu запросов, логическое и физическое считывание и т.д. примерно все тоже самое, как было всегда. Чего-то нового не увидел.
В это время показатель apdex резко падает до 0,7-0,8 в среднем за сутки. В так в любое время суток. Т.е. если раньше apdex в течении суток был в пределах 0.97-0,98, то сейчас он резко просел. Это не зависит от времени суток и от того, рабобают пользователи или нет. При этом я не вижу каких-то фоновых заданий, которые могли бы его нагружать.

Все это длилось где-то 1,5 недели и как не ожиданно появилось, так и не ожиданно прошло. Далее все стабильно работало примерно 1,5 месяца и вот сново проблема вернулась.

Не понимаю куда копать. Что искать. Почему cpu e rphost начинает так расти. Как понять что дает такую нагрузку? У кого есть опыт решения подобной задачи, в какую сторону посмотреть?

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

Из особенностей. Когда висит все, счетчик показывает большие очереди на процессор



Предпологаю, что с вероятностью 99% что проблема где-то в коде. Но не понимаю как найти эту проблему. Знаю как найти проблемный код на стороне СУБД, но не понимаю как на стороне сервера 1С. Условно какой код грузит cpu rphosta.
Да, можно сказать что циклы, но как их найти? У меня около 1000 разных фоновых заданий. Они нормально работали все годы. Все как говориться знакомые, всех знаешь. Что сейчас грузит процессор - не могу понять. Прошу помощи у сообщества
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. paulwist 13.02.25 15:21 Сейчас в теме
Что показывают метрики на Сервере 1С

\Processor(_Total)\% Processor Time
\Memory\Available MBytes
\Paging File(*)\% Usage
\System\Processor Queue Length
\PhysicalDisk(_Total)\Current Disk Queue Length
3. Vormat 13.02.25 16:12 Сейчас в теме
(2) 1. Процессор(_Total)\% загруженности процессора
В стабильное время: 40-50%. В дни зависаний – от 50 и выше. Часто в районе 80-100%. Редко когда полностью 100%

2. Память\Доступно МБ
Данный показатель стабилен в любой день. Держится в районе от 100000 до 70000

3. \Paging File(*)\% Usage к сожалению не ставил на запись. Текущий размер файла подкачки 40Гб. Общий объем озу 380гб

4. Система\Длина очереди процессора
В стабильные дни не превышает 2 пунктов. В дни зависания постоянно скачет, доходит до 60 пунктов.
Виртуальная машина, 4 сокета, 32 вир.процессора

5. \PhysicalDisk(_Total)\Current Disk Queue Length к сожалению не собирал, только поставил, смогу завтра сказать.
Есть показатель «Физический диск(_Total)\Средняя длина очереди диска» Ведет себя одинаково в разные дни. Показатель от 0 до доходит до 10 пунктов.
В основном большие показатели там, где база находится. Где темп сервера 1С и сеансовые данные – почти по 0, редко когда до 1 пункта доходит.
На диске где лог журнала базы – в основном не более 0,1, бывает редко до 0,9.
На диске где файлы tembDB в основном около 0, но бывают редкие всплески до 8-16 пунктов

Показатель «Физический диск(_Total)\Текущая длина очереди диска» за последние 30 минут – от 0 до 7 скачет.
4. paulwist 13.02.25 16:52 Сейчас в теме
(3)
Виртуальная машина, 4 сокета, 32 вир.процессора


1. Какая лицензия 1С КОРП/ПРОФ ??

2. Что показывает ProcessExploer, сколько реально процессоров задействовано?
5. Vormat 14.02.25 10:45 Сейчас в теме
(4) 1. Лицензия ПРОФ, но вресия платформы: 8.3.12.1790. Системные администраторы утверждают что 1С использует все 32 ядра. Но как это проверять я сам признаться не знаю. Если подскажите, буду весьма признателен

2. Не знаю то я прислал или нет, скрин приложил
Прикрепленные файлы:
6. paulwist 14.02.25 12:50 Сейчас в теме
(5)
1. Лицензия ПРОФ, но вресия платформы: 8.3.12.1790. Системные администраторы утверждают что 1С использует все 32 ядра.


Врут админы :), у ПРОФ ограничение 12 ядер.

Сколько всего rphost-ов, и сколько БД обслуживает 2 rphost ?? - дело в том, что rphost не умеет параллелиться на соседние слоты, те если 2-3-4 rphost сели на один процессор, то они будут жить только в нём, другие процессоры/ядра будут курить.


(5)
2. Не знаю то я прислал или нет, скрин приложил
Прикрепленные файлы:
7. Vormat 14.02.25 14:59 Сейчас в теме
(6)
У нас платформа старая в ней не должно быть ограничений:
https://infostart.ru/journal/news/mir-1s/1s-zakrepila-razdelenie-platformennykh-litsenziy-na-prof-i-korp_1002294/

С утра 2 hphosta, по 96 соединений на hphost. В течении дня, если hphost падает, может быть 5-7 hphost-ов.
База данных 1с по сути одна. Есть еще пара баз для мониторинга, но если их отключить то на нагрузку они не слияют. Каких-то нагрузок в них нет

На основном загруженной hphost показатель Ideal CPU от 0 до 7. На остальных hphost другие показатели, вплоть до 31, но везде разные и не пересекаются
Прикрепленные файлы:
8. paulwist 14.02.25 15:22 Сейчас в теме
(7)
но везде разные и не пересекаются


Это хорошо.

А что делает на загруженном rphost-e WinSCP.exe и PING там висит, помониторте их во время пиков, может их ожидание выстраивает очередь к процессору

В дни зависания постоянно скачет, доходит до 60 пунктов.


очередь 60 - это не нормально.
9. Vormat 14.02.25 15:33 Сейчас в теме
(8) Ping как я понимаю это своеобразная пауза, через код:

СтрокаЗапроса = "ping -n 1 -w " + Формат(1000 * КоличествоСекунд, "ЧДЦ=0; ЧГ=") + " 127.255.255.255";
WshShell = Новый COMОбъект("WScript.Shell");
WshShell.Run(СтрокаЗапроса, 0, -1);

А WinSCP.exe для передачи данных по sFTP

Но этот код всегда работал годами. И к нему вопросов не было.

очередь 60 - это не нормально.



Вот и не могу понять, откуда такие очереди. И не понимаю как это можно проверить, как понять? Если с СУБД научился как находить проблемы в работе, то с сервером приложений не пойму как определить из-за чего rhhost потребляет столько cpu
10. RustamZz 14.02.25 15:56 Сейчас в теме
(9) Раз у вас такая старая платформа включаете 1 база, 1 соединение - 1 рабочий процесс и тогда сразу увидите какое соединение вызывает такую нагрузку. Но только не на долго, и портов для рпхостов нужно будет добавить с запасом.
11. paulwist 14.02.25 16:02 Сейчас в теме
(9)
Но этот код всегда работал годами. И к нему вопросов не было.


Запустите ping с параметрами из 1С в момент тормозов (на серваке естественно)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот