LINUX.ORG.RU

Как повысить производительность игрового сервера?


0

0

У меня есть выделенный серв.

Intel(R) Xeon(R) CPU E5430 @ 2.66GHz ( 8 -ми ядерный).

16 Гигабайт оперативной памяти. Установленная система в данный момент Centos x86_32.

На нём ежедневно запущены около 90-100 серверов CS (версия 1.6).

Днём назгрузка CPU доходит до 90% (иногда до 100 и тогда серв виснет :( ) (average - 50)

Подумывал о копирование файлов игрового сервера в ramdisk. Должно снизить нагрузку на хард и возможно даже на процессор.

Каким образом можно поднять прозводительность сервера и снизить нагрузку на процессор?

Какой дистр посоветуете? И какую архитектуру? (32\64)


Re: Как повысить производительность игрового сервера?

во-первых - выяснить таки, на чём затык, на cpu, или всё ж таки на I/O. Плясать от результатов. Про дистр - это вопрос религии. Про архитектуру - с таким кол-вом памяти я бы 64 бита поставил.

sidor ★★ ()

Re: Как повысить производительность игрового сервера?

avg-cpu: %user %nice %system %iowait %steal %idle

26.30 0.02 2.81 0.42 0.00 70.46

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

sda 20.92 523.00 460.67 88666916 78100008

sda1 20.16 499.83 344.39 84738482 58385440

sda2 0.76 23.17 116.29 3927982 19714568

al1as ()

Re: Как повысить производительность игрового сервера?

>16 Гигабайт оперативной памяти

Лучше уж x86_64

madgnu ★★★★★ ()

Re: Как повысить производительность игрового сервера?

в данный момент top пишет что cpu загружен на 90%

iostat показывает следуйщее:


avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          29.80    0.02    3.00    0.40    0.00   66.78

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              21.82       567.28       478.63  101908388   85982408
sda1             20.90       539.11       347.59   96847418   62441816
sda2              0.92        28.17       131.04    5060518   23540592

al1as ()

Re: Как повысить производительность игрового сервера?

> Подумывал о копирование файлов игрового сервера в ramdisk

Не стоит. При нормальном объёме памяти (а тут за глаза) частоиспользуемые файлы и так всегда в памяти сидят в дисковом кэше.

Ставь x86-64 и тюнь сетевые настройки (sysctl net.ipv4...). Тут наверняка ты в сеть упираешься.

Deleted ()

Re: Как повысить производительность игрового сервера?

дисковой кеш = swap? скорость считавание с харда насколько мне известна меньше чем с рама.

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

вопрос в том, если будет прирост производительности при смене карт и при простой игре?

если есть мануал по тюнингу сетевых настроек буду благодарен.

если есть недостаток трафика для всех серверов, возможно ли что это то самое что резко поднимает загрузку цпу?

al1as ()

Re: Как повысить производительность игрового сервера?

ну даже при кешировании на диск то писать придётся и с этим теоритически может быть затык. Т.е. размещение в раме может дать какой то результат. (и определено даст) другое дело что данные потеряются при резете.

на 64бита уже сказали, не знаю есть ли сервер для 64х битной системы но даже 32х битная в 64х битной системе будет лучше работать чем так...

можно atop посмотреть он красным помечает что перегружено

frozen83 ()

Re: Как повысить производительность игрового сервера?

делай atop во время загрузки, он напишет что перегружен проц и сетевая подсистема.ксати 16 гигов на 32х битах это лишняя нагрузка на проц при использовании более 3х-4х гигов

frozen83 ()

Re: Как повысить производительность игрового сервера?

> ну даже при кешировании на диск

Блин, не кэширование на диск, а дисковый кэщ и дисковый буфер. В памяти. То, что показывается в free в колонке buffers и cached

Deleted ()

Re: Как повысить производительность игрового сервера?

Как вариант - пересобрать ядро с поддержкой HZ=1000 Если запускаешь сервера кс - то затык происходит при сжирании оперативной памяти, а не из-за того, что проц греется

используй -heapsize для распределения оперативной памяти.

lexxus-lex ★★★ ()

Re: Как повысить производительность игрового сервера?

можно поподробнее про heapsize? температура проца вокруге 30-50. HZ=1000 может каким-то образом улучшить ситуацию с нагрузкой?

P.S: на следуйщей недели поставлю 64-битную систему. не уверен насчёт дистра. думал в сторону арча пойти, (поддержка, мануалы, и всё разжевано. намного проще затюнить систему, пересобрать ядро, и так далее. посравнению с тем-же центо-ом. скорость работы тоже поразила.)

есть ли какой нибудь мануал оптимизации сетевых настроек? (на сервере установлен 20-ти мбит-ный интернет).

al1as ()

Re: Как повысить производительность игрового сервера?

Большой LA из-за того, что своп прилично используется. Диски как правило медленные. Ты, видимо, в память упёрся. CS-сервера специально тюнил каким-либо образом?

Deleted ()

Re: Как повысить производительность игрового сервера?

hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   1692 MB in  2.01 seconds = 842.91 MB/sec
 Timing buffered disk reads:   46 MB in  3.08 seconds =  14.91 MB/sec


конфиг сервера cs:

fps_max 101
fps_modem 0
cl_shadows 0
gl_spriteblind 0
cl_updaterate 90
cl_fixtimrate 15
cl_cmdrate 100
cl_cmdbackup 2
rate 25000
cl_corpestay 5
cl_weather 0
cl_himodels 0
hpk_maxsize 1
sv_maxcmdrate 101
sv_maxrate 25000
sv_maxupdaterate 101
sys_ticrate 10000
sv_minrate 1
sv_proxies 2

al1as ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.