Распределение нагрузки по ядрам.

KapaT

Эгоист
Сообщения
1,988
Реакции
535
Ахинею написал здесь ты. С чего бы Valve убирать многопоточность на сервере CS:GO, если она есть на сервере CS:S?

Valve и другие игры делает, это не значит что они все многопоточные. Возможно ксс и ксго делают разные "люди" отсюда и разница.
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
Valve и другие игры делает, это не значит что они все многопоточные. Возможно ксс и ксго делают разные "люди" отсюда и разница.
Какая разница?

Добавлено через 1 минуту
Виртуализацию не использую.
 
Последнее редактирование:

master117

Участник
Сообщения
275
Реакции
10
Какая разница?

Добавлено через 1 минуту
Виртуализацию не использую.

У меня вот тоже выделенный, там так же скачет с ядра на ядро или равномерное распределение в зависимости от нагрузки, а на VDS дело обстоит иначе, всегда принудительно только на одном ядре висит сервер хотя ничего такого не стоит.
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
У меня вот тоже выделенный, там так же скачет с ядра на ядро или равномерное распределение в зависимости от нагрузки, а на VDS дело обстоит иначе, всегда принудительно только на одном ядре висит сервер хотя ничего такого не стоит.
Кстати о VDS - на PRO тарифах муарены тоже есть двухядерные процы. А там VDS OpenVZ.
Не зря же они эти тарифы добавили. Хотя там меня это от лагов не спасало.
 

master117

Участник
Сообщения
275
Реакции
10
Может быть на некоторых тарифах принудительно используют taskset, конечно таким способом сервер получит на VDS равномерную нагрузку по ядрам но и жрать не мало будет от этого.
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
Может быть на некоторых тарифах принудительно используют taskset, конечно таким способом сервер получит на VDS равномерную нагрузку по ядрам но и жрать не мало будет от этого.
Ну - это уже другая история. Самый главный вывод - мультипоточность присутствует.
 

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #30
А смысл давать серверу прыгать по ядрам? От прыжком многопоточности не прибавляется
1.6/ксс - какая млин многопоточность? не раз тему поднимали уже
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
А смысл давать серверу прыгать по ядрам? От прыжком многопоточности не прибавляется
1.6/ксс - какая млин многопоточность? не раз тему поднимали уже
Тему перечитайте. Загрузка на всех ядрах равномерная, без прыжков.
 

Сергей Серегин

Участник
Сообщения
68
Реакции
3
Слышь умник а теперь посмотри на свои скрины и скажи где там равномерность? Сервер работает только на одном ядре, нагрузка остальных ядер занята иными процессами чудо

Добавлено через 3 минуты
Ты и в лине смотрю такой же шареный как и в серверах
 
Последнее редактирование:

selax

Добрая душа
Сообщения
1,172
Реакции
521
Слышь умник а теперь посмотри на свои скрины и скажи где там равномерность? Сервер работает только на одном ядре, нагрузка остальных ядер занята иными процессами чудо

Добавлено через 3 минуты
Ты и в лине смотрю такой же шареный как и в серверах
Вести себя прилично не учили? не? Или с тобой общаться нужно как с гопотой и прочим ♥♥♥♥♥♥м?

По теме - какими другими процессами? Система минимальная, те процессы что есть - по нулям. Возможно какие то "невидимые" процессы есть, просветите, пожалуйста, "шареного" человека, который за 10 лет так и не научился пользоваться линуксом и делать сервера. Я ведь далеко не IT-шник. Совсем в другой отрасли работаю.
 

hitmany

Участник
Сообщения
171
Реакции
97
Srcds не поддерживает мультипроцессорность, спросите на оленях, многие опытные скриптеры и владельцы подтвердят

ответ necavi очень известный скриптер и разраб sourcemod
SRCDS will ONLY run things like networking on a separate thread, don't expect massive gains from using multiple cores, as actual game code CANNOT (usually) be multithreaded.

Consider a frame where a player presses the fire button, but is simultaneously shot, if you were to try to thread that you would have a non-deterministic outcome, depending on which thread processes faster the player may be able to shoot before dying or not. (Vastly oversimplified example, the problems are incredibly extensive with trying to multithread MOST games)

In general it is best to NOT set core affinities as the built-in scheduler is DESIGNED to do exactly what you're trying to do, except in real time and more intelligently.



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

Source servers are primarily single threaded. The majority of game logic (including SM plugin logic) will only occur on the main game thread, but there is some amount of parallelization that is done with threadpool workers during entity encoding.

That said, forcing specific thread/process affinity is just asking for trouble. Your operating system is considerably more clever than you are and will make the proper thread scheduling decisions without needing any hints, and you'll likely hurt your instruction throughput by making poor affinity decisions.
 
B

bigbrain911

Потестил, не всё так однозначно. Тестировал около часа. Машина чистая, строка запуска сервера:
C-подобный:
./srcds_run -game csgo -console +ip 89.108.86.211 -port 27015 -usercon +game_type 0 +game_mode 1 +mapgroup mg_dust2 +map de_dust2 -tickrate 128 +fps_max 0 -maxplayers_override 64

При нагрузке процессора менее 100% (1 скрин 128 тик, 9 ботов, 2 скрин 64 тик 23 бота) сервер всегда равномерно использует 3 ядра, четвертое загружено чуть больше чем остальные. Никогда не использует второй процессор. Лагов, фризов не наблюдалось.




При загрузке процессора 100% (128 тик, 29 ботов) сервер в большинстве случаев неравномерно использует 2-3 ядра не используя 1-2 ядра. Иногда появляются моменты, когда задействованы все 4 ядра, иногда задействовано 1 ядро. Второй процессор также не используется. Лагов, фризов как ни странно тоже не наблюдалось, но sv было жёлтым.

Когда в htop делаете скрины жмите на колонку cpu чтобы отсортировать нагрузку.
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
Srcds не поддерживает мультипроцессорность, спросите на оленях, многие опытные скриптеры и владельцы подтвердят

ответ necavi очень известный скриптер и разраб sourcemod




Перевод для тех кто в танке:
Если вы попытаетесь сделать многозадачность для такого действия например как стрельба(нажатие кнопки выстрела) то это будет нереально, либо выстрел произойдет до вашей смерти либо после, будут баги, из-за этого во многих играх нельзя сделать мультипроцесорность сервера.
А мультипроцессорность и не работает, что я тут и озвучивал. Многопоточность в сервере присутствует, но не для всего. Что тоже мои скрины подтверждают. Где то читал что она тут только для всяких "вспомогательных" функций.
Такого скриптера не знаю, ответ может и правильный, но в том количестве багов со стрельбой в CS:GO этот баг будет абсолютно не значителен. :)

Когда в htop делаете скрины жмите на колонку cpu чтобы отсортировать нагрузку.
Зачем? Мне хотелось отсортировать по команде. :)
Те процессы, что на скрин не попали тоже по нулям.
 
Последнее редактирование:
B

bigbrain911

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

selax

Добрая душа
Сообщения
1,172
Реакции
521
selax, Потому что на ваших скринах нагружены несколько ядер, но в процессах этого не видно, поэтому сортируют от большего к малому.
Увидели? :taunt:


Я знаю зачем сортируют, в этом случае это было не нужно по причине того, что там мне было всё видно невооруженным глазом.
 
Сообщения
48
Реакции
1
Главным фактором лагов является показатель wa в стандратной команде top. Если wa больше нуля - возможны лаги. Проверено опытным путём на примере умирающего винта.
Наивно думать, что имея крутой проц вы нивелируете проблемы быстродействия диска и памяти.
Так же, у меня был случай, когда postfix взбесился. Лаги на всех серверах, но нагрузка проца не сверхествественная. Тут вам в помощь утилита iotop. С её помощью легко найти процесс, который, например, насилует диск.
Так же полезная вещь админа игровых серверов, это nload, которая показывает нагрузку на сеть в целом. Тут тоже проблемы случаются, если канал 100 мегабит и фастдл включена на той же машине, то когда вся ватага начнёт качать карту, то на всех серверах пинг может подняться до +50.
Ещё, по зелёному опыту администрирования вспоминается лаг при обращении к MySQL, как оказалось, она тупо крутилась без кэширования, а когда у вас 5000+ игроков ежедневно, это ой как серверу не нравится.

Что же касается нагрузки, то и 1,6 и ксго могут вылетать за ядро, у меня было до 130% с плохими плагинами. При этом в htop будет одно ядро 95+ и остальная нагрузка на другом. Но при таком раскладе тик будет прыгать, что явно не есть хорошо. Вот.


И ещё, не надо слушать некоторых изобретателей теорий, что чем выше герцовка, тем лучше, всё зависит целиком от процессора, а герцовка это лишь один из параметров. Это я уже говорю как обладатель серверов на AMD FX с 8 ядрами по 4.5 ГГц и серверов Core i7 с 8x3.9 ГГц. Как-то так.
 

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #40
Главным фактором лагов является показатель wa в стандратной команде top. Если wa больше нуля - возможны лаги. Проверено опытным путём на примере умирающего винта.
Наивно думать, что имея крутой проц вы нивелируете проблемы быстродействия диска и памяти.
Так же, у меня был случай, когда postfix взбесился. Лаги на всех серверах, но нагрузка проца не сверхествественная. Тут вам в помощь утилита iotop. С её помощью легко найти процесс, который, например, насилует диск.
Так же полезная вещь админа игровых серверов, это nload, которая показывает нагрузку на сеть в целом. Тут тоже проблемы случаются, если канал 100 мегабит и фастдл включена на той же машине, то когда вся ватага начнёт качать карту, то на всех серверах пинг может подняться до +50.
Ещё, по зелёному опыту администрирования вспоминается лаг при обращении к MySQL, как оказалось, она тупо крутилась без кэширования, а когда у вас 5000+ игроков ежедневно, это ой как серверу не нравится.

Что же касается нагрузки, то и 1,6 и ксго могут вылетать за ядро, у меня было до 130% с плохими плагинами. При этом в htop будет одно ядро 95+ и остальная нагрузка на другом. Но при таком раскладе тик будет прыгать, что явно не есть хорошо. Вот.


И ещё, не надо слушать некоторых изобретателей теорий, что чем выше герцовка, тем лучше, всё зависит целиком от процессора, а герцовка это лишь один из параметров. Это я уже говорю как обладатель серверов на AMD FX с 8 ядрами по 4.5 ГГц и серверов Core i7 с 8x3.9 ГГц. Как-то так.

А некоторые вообще про iops не в курсе, сидят в танке и в бубен стучат.
Спасибо, хоть кто то тронул тему с веб(настроенный коряво либо вообще голый - неумелые руки) + сервер в одно месте - м.б. хоть кто то и вникнет, хотя кол-во ГС удручает....
"всё зависит целиком от процессора" - :beer:
Отдельный привет держателям hlds - весёлая тема :-D
 
Сверху Снизу