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)


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

sidor ★★
()
Ответ на: комментарий от sidor

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
() автор топика
Ответ на: комментарий от al1as

ну это в момент загрузки надо смотреть... когда у тебя la высокий...

sidor ★★
()
Ответ на: комментарий от sidor

можно поподробнее?

просто iostat никогда не юзал. если можешь укажи подобные параметры запуска.

al1as
() автор топика
Ответ на: комментарий от madgnu

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

al1as
() автор топика

в данный момент 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
() автор топика

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

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

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

Deleted
()
Ответ на: комментарий от Deleted

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

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

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

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

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

al1as
() автор топика
Ответ на: комментарий от Deleted

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

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

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

frozen83
()
Ответ на: комментарий от frozen83

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

frozen83
()
Ответ на: комментарий от frozen83

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

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

Deleted
()

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

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

lexxus-lex ★★★
()
Ответ на: комментарий от lexxus-lex

> Как вариант - пересобрать ядро с поддержкой HZ=1000

Только при этом нагрузка на процессор увеличится.

Deleted
()
Ответ на: комментарий от lexxus-lex

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

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

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

al1as
() автор топика
Ответ на: комментарий от al1as

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

Deleted
()
Ответ на: комментарий от Deleted

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
() автор топика
Ответ на: комментарий от Deleted

если отменить swap, и чуть оптимизировать расход памяти cs, возможно ли получить хороший результат?

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