Поток в процессе

1. paulwist 17.05.24 13:41 Сейчас в теме
Братья и сестры.

Поясните такую вещь.

Дано: отдельно стоящий Сервер 1С, процессор с 4-мя ядрами (сервер БД на другой машине)

Рабочий процесс (rphost) "генерит/создаёт" (по аналогии с Win процессом) внутри себя потоки (что в тех. журнале обозначено как OSThread)

Например:

rphost 1234 создал последовательно два потока (см ниже, лог реального ТЖ)



....,OSThread=8660,t:clientID=2710,t:applicationName=1CV8C,
....,OSThread=7352,t:clientID=2797,t:applicationName=JobScheduler,


В метриках сервера 1С вижу, как только создался второй поток OSThread=7352, метрика Processor Queue Length (длина очереди ожидания ЦП) сразу возрастает/подскакивает.

Вопрос:
вот эти потоки OSThread = 8660, 7352 выполняются на одном ядре или как Win потоки могут выполняться на любом доступном процессоре/ядре?? Где бы почитать (лучше на сайте вендора 1С)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3051 17.05.24 14:10 Сейчас в теме
На любом доступном ядре, т.к. ими рулит венда. Вообще (1С тут ваще сбоку), венда работающий поток постоянно между ядрами переносит, особенно при сбалансированной схеме производительности.

При старте джобшедуллера - фактически это поток управления регламентными заданиями - должно стартовать сразу много регламентных заданий, вот и растет очередь к процу. Когда они отработают - очередь освободится.
3. paulwist 17.05.24 14:24 Сейчас в теме
(2)
На любом доступном ядре, т.к. ими рулит венда. Вообще (1С тут ваще сбоку), венда работающий поток постоянно между ядрами переносит, особенно при сбалансированной схеме производительности.


Тогда вопрос в догонку, если увеличить кол-во ядер скажем с 4 до 8, то как я понимаю, очередь не разгрузится - останется прежней, а вот время выполнения/разгрузки очереди должно "пропорционально" уменьшиться, так?? (или я что-то не понимаю )
6. paulwist 17.05.24 15:39 Сейчас в теме
(4)
2spacecraft


Не понял из ссылки, как 1С реализовала многопоточность, с помощью Win или изобрели собственный велосипед.
8. spacecraft 17.05.24 15:54 Сейчас в теме
(6) а, вы еще на этапе не известности, что это такое?
Вроде уже сказали, что это потоки самой ОС. Даже по названию OSThread это понятно.
9. paulwist 17.05.24 16:02 Сейчас в теме
(8)
а, вы еще на этапе не известности, что это такое?
Вроде уже сказали, что это потоки самой ОС. Даже по названию OSThread это понятно.


Дык, я догадываюсь, конечно, но хотелось бы увидеть ссылку на сайте 1С, если там такое есть.

Не хотелось бы "вдруг" узнать, что 1С изобрели-внедрили, что-то своё и как следствие добавляй ядра не добавляй - результата не будет.
10. spacecraft 17.05.24 16:32 Сейчас в теме
(9)
Дык, я догадываюсь, конечно, но хотелось бы увидеть ссылку на сайте 1С, если там такое есть.

Такие данные официально обычно не озвучиваются.
Мнение Гилева устроит?
http://www.gilev.ru/forum/viewtopic.php?f=9&t=806
5. starik-2005 3051 17.05.24 14:39 Сейчас в теме
(3)
уменьшиться
Ну больше ядер - больше производительность, но не прямо пропорционально. Фактически все упирается в пропускную способность памяти, в количество каналов.
7. paulwist 17.05.24 15:43 Сейчас в теме
(5)
но не прямо пропорционально


Ну понятно, "пропорционально" я взял в кавычки :)

Правильно я понимаю, что потоки 1С - это win-потоки?

(тогда в первом приближении можно считать, что "добавка" ядер может "решить/расшить" узкое место.)
11. DENSKR 16 17.05.24 20:01 Сейчас в теме
(5) А как же тактовая частота проца на физическом железе? Например 4 проца по 4 Ггц или 8 процев по 2 Ггц? Любые тесты многопоточности в первом случае выиграют. ИМХО конечно.
12. paulwist 20.05.24 08:53 Сейчас в теме
2ALL

Спасибо, копаю дальше.
Оставьте свое сообщение

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