Проседает тик.

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#1 Сообщение 31.01.2012, 14:26

Всем ку :)
Как перебороть проседание тика?

Проблема в том что желаемый тик 66 он проседает до 15-25, из-за чего жуткие лаги.
Сервер DD_2 на 24 слота работает на 2-ом ядре, при полном забитом сервере загрузка ядра на 25%. Но при игре 6 на 6 начинаются лаги. Интернет 100 мбит/сек.
На сервере стоит SMAC без анти WH, стоит простая часть SMAC.
server.cfg
breakable_multiplayer 1
decalfrequency 10
host_framerate 0
rcon_password ""
exec banned_ip.cfg
exec banned_user.cfg
writeid
hostname ""

sv_airaccelerate 10
sv_allowdownload 1
sv_allowupload 1
sv_alltalk 1
sv_cheats 0
sv_consistency 1
sv_contact
sv_enableoldqueries 1
sv_footsteps 1
sv_friction 4
sv_gravity 800
sv_maxspeed 320
sv_pausable 0
sv_rcon_banpenalty 60
sv_rcon_maxfailures 1
sv_rcon_minfailures 5
sv_rcon_minfailuretime 30
sv_specaccelerate 5
sv_specnoclip 0
sv_specspeed 0
sv_stats 1
sv_stepsize 18
sv_stopspeed 75
sv_timeout 320
sv_voiceenable 1
sv_minrate 13000
sv_maxrate 25000
sv_minupdaterate 33
sv_maxupdaterate 67
sv_mincmdrate 33
sv_maxcmdrate 67
sv_use_steam_voice "0"
sv_allow_voice_from_file 0
mp_show_voice_icons 0 //Значок микрофона над головами
//Лерп 31
//sv_competitive_minspec 1
//sv_client_cmdrate_difference 1
//sv_client_predict 1
//sv_client_min_interp_ratio 1
//sv_client_max_interp_ratio 1


mp_allowNPCs 1
mp_allowspectators 1
mp_autocrosshair 0
mp_autokick 0
mp_autoteambalance 1
mp_buytime 0.30
mp_c4timer 35
mp_chattime 10
mp_decals 200
mp_fadetoblack 0
mp_falldamage 1
mp_flashlight 1
mp_forcecamera 1
mp_fraglimit 0
mp_freezetime 1
mp_footsteps 1
mp_friendlyfire 0
mp_hostagepenalty 0
mp_limitteams 1
mp_maxrounds 0
mp_playerid 1
mp_spawnprotectiontime 10
mp_roundtime 1.75
mp_startmoney 3700
mp_timelimit 51
mp_tkpunish 0
mp_winlimit 0


bot_allow_grenades 1
bot_allow_machine_guns 1
bot_allow_pistols 1
bot_allow_rifles 1
bot_allow_shotguns 1
bot_allow_snipers 1
bot_allow_sub_machine_guns 1

log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
mp_logdetail 3
start.sh
#!/bin/sh
echo "Starting Cs:Source DD2 Server"
sleep 1
taskset -c 1 screen -A -m -d -S ddd2 ./srcds_run -console -game cstrike -port 27015 +maxplayers 20 +map de_dust2 +sv_lan 0 +ip 0.0.0.0
echo "Starting Cs:Source DD2 Server OK"
Железо:
amd phenom ii x6 1090t black edition
ASUS M5A87
4 гб DDRIII
OC Linux Debian x64 (ядро от Dev_ua)


Все сервера V69
Так же на сервере стоит веб сервер на котором стоит SourceBans; HLstatsX; phBB; drupal.
P.S. Интернет подключён через роутер d'link dir-620.
Последний раз редактировалось BMW M6 31.01.2012, 15:34, всего редактировалось 1 раз.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#2 Сообщение 31.01.2012, 15:11

Запусти без ограничения по ядрам и приведи скрин top -> 1 в моменты лаг.
У тебя 6-ти ядерный процессор. Для данного процессора соответственно полная нагрузка равна 600%. Если сервер работает в один поток - то в момент лаг должно быть 100% (или если относительно 16,6...%)
Если тик проседает - то проблема явно в нагрузке на процессор. Я полагаю у тебя тоже проблема в том, что сервак просто не грузит все ядра.
В общем скинь скрин top -> 1 чтобы подтвердить это.

BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#3 Сообщение 31.01.2012, 15:31

Щас подожди, надо поймать момент.
Изображение
Последний раз редактировалось BMW M6 31.01.2012, 15:34, всего редактировалось 1 раз.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#4 Сообщение 31.01.2012, 15:35

У меня вообще аналогичная проблема, вот я ранее создал тему: http://forum.csmania.ru/viewtopic.php?f=28&t=34049
Если у тебя всё точно также, думаю можно будет уже с уверенностью утверждать что на линуксе нет многопоточности. Буду проверять её наличие на винде, словам вальвы больше верить нельзя. Если на ней сервак работает в несколько потоков - то правильнее всего будет поставить на виртуалку.

Добавлено спустя 2 минуты 23 секунды:
На скрине никаких зашкаливаний не видно. Т.е. вроде как тоже у обоих серваков по одному потоку... но чтобы сказать уверенно, нужна нагрузка побольше. Заскринь часиков в 8 вечере, в час пик.
Последний раз редактировалось kadet89 31.01.2012, 15:36, всего редактировалось 1 раз.

BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#5 Сообщение 31.01.2012, 15:36

kadet89
честно говоря про многопоточность я нечего не понимаю, зачем она нужна?

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#6 Сообщение 31.01.2012, 15:38

Как это зачем? У тебя 6-ти ядерник. Чтобы один сервер загрузил все 6 ядер, он должен работать минимум в 6 потоков. Более того все потоки должны создавать сбалансированную нагрузку, т.е. должны грузить все ядра равномерно.
Если многопоточности нет - грузится одно ядро под 100%, а остальные под 0. Процессор используется неэффективно, большая часть вычислительных ресурсов простаивает, в то время как сервак лагает.

Аватара пользователя
cuttep
Капитан
Капитан
Сообщения: 446
Зарегистрирован: 26.06.2010
Откуда: http://www.evoplay.ru
Поблагодарили: 1 раз
Контактная информация:

#7 Сообщение 31.01.2012, 16:51

BMW M6 писал(а):Всем ку :)
Как перебороть проседание тика?
Интернет 100 мбит/сек.
P.S. Интернет подключён через роутер d'link dir-620.
забавно
твой инет может быть как 1мбит, так и до 100мбит
для начала померей канал iperf'ом, и зачем длинк если комп на дебиане

BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#8 Сообщение 31.01.2012, 16:56

и зачем длинк если комп на дебиане
А как мне ещё поделить интернет?
Сейчас померю. У людей пинг от 1 до 25, а лагает с*ка
Изображение
+ поставил ядро linux-image-3.2.2-pf_0_amd64.deb

hosse
Лейтенант
Лейтенант
Сообщения: 247
Зарегистрирован: 15.09.2011
Поблагодарили: 5 раз
Контактная информация:

#9 Сообщение 31.01.2012, 17:05

BMW M6 ЛС смотри!
Изображение

BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#10 Сообщение 31.01.2012, 17:13

cuttep
Не получается эти iperf'ом померить :(

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#11 Сообщение 31.01.2012, 18:22

Причем здесь инет, если у него tickrate проседает? Еслиб проседал updaterate - то тогда инет мог бы быть причиной. А tickrate это fps сервера, количество "снимков" состояния сервера в минуту. И от интернета оно никак не зависит. cuttep, вы только его время зря тратите.

Насчет роутера - у меня самого роутер, только помощнее на порядок. Очень удобно и практично, и ничего в этом плохого нет, если он справляется с нагрузкой.

BMW M6, не парься, роутер может только повышать пинг и вызывать потери пакетов. Если у тебя с пингом и с потерями всё впорядке - то не заморачивайся.
Для 24 слотов х 66 тик (66 updaterate соответственно) 10 мегабит предельно достаточно.

Аватара пользователя
cuttep
Капитан
Капитан
Сообщения: 446
Зарегистрирован: 26.06.2010
Откуда: http://www.evoplay.ru
Поблагодарили: 1 раз
Контактная информация:

#12 Сообщение 31.01.2012, 18:59

kadet89 писал(а):Причем здесь инет, если у него tickrate проседает? Еслиб проседал updaterate - то тогда инет мог бы быть причиной. А tickrate это fps сервера, количество "снимков" состояния сервера в минуту. И от интернета оно никак не зависит. cuttep, вы только его время зря тратите.
ты сам себе противоречишь, если канал забит откуда ж фпс будет нормальный если сервер не может 66 рейты поддерживать, поиграй на модеме и посмотри какой будет у тебя фпс

BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#13 Сообщение 31.01.2012, 19:08

Изображение
2 ядро DD2 15 слотов было занято.
4. ядро DM 15 слотов было занято.
(У меня онлайн после 21:00 школоло приходит :D)

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#14 Сообщение 31.01.2012, 21:47

cuttep, блин, дак тикрейт задается на сервере, а не на клиенте. Тикрейт - это характеристика только сервера. Она показывает сколько серверу следует обрабатывать кадров в секунду. Если сервак перегружен обработкой физики - то заданное значение, в данном случае 66 кадров, он может не успевать обрабатывать. Тогда говорят о проседании тикрейта (или с небольшим приближением fps сервера)
Сервак обменивается с клиентом по UDP протоколу.
Сервак старается слать пакеты с частотой updaterate (которая не может быть больше тикрейта)
Клиент старается отсылать пакеты с частотой cmdrate.
Количество приходящийх/отправляемых пакетов и вообще сеть в целом никак не влияет на фпс и тикрейт (только если это не дос само собой).
Серваку грубо говоря пофиг - какие данные есть, такие он и обрабатывает в цикле. Чаще идут пакеты - обработка по времени выходит точнее. Реже - к примеру 10 пакетов. Значит 66 тиковый сервак в каждых 6 кадрах будут использованы данные одного пакета + интерполяционное сглаживание. Но при этом все 66 тиков буду!

Если следовать вашей логике - я могу зайти на сервак, потом понизить число исходящих от меня пакетов до 1 в секунду и сервак повиснет... такого не будет.
Последний раз редактировалось kadet89 31.01.2012, 22:17, всего редактировалось 7 раз.

BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#15 Сообщение 31.01.2012, 21:52

Весь вечер мониторил сервера, на DD2 нагрузка не привышала 30%. На DM 50%. Самое интересное на DM лагов нет, а на DD2 есть :(

Ответить