Помощь - Поиск - Пользователи - Календарь
Полная версия: Как посадить NWN на диету ?
Город Мастеров > РЕДАКТОРЫ > Шарды рунета
Raven
Всем доброе время суток !

Возникла такая проблемка - наш сисадмин жалуется что один сервер NWN кушает ресурсов больше чем все 5 серверов CS sad.gif

Поэтому и возник вопрос - как сделать так, чтобы NWN кушала меньше ресурсов ? Сервер на линухе. Еще одна особенность - сервер локальный, поэтому скорость соединения с сервером очень большая.

Мож кто поможет ?
Niter[LFL]
а что именно кушает много? dntknw.gif Если память то помоему вроде в 1.64 должны были это исправить swoon.gif
Raven
да не, кушает CPU - причем кушает здорово - 30-35%
_kaa_
Это его нормально состояние.
На форумах биоварей есть топики про оптимизацию, там почитай - много всего.
В двух словах вот что хорошо для сервера smile.gif
1.Малый объем модуля и количество локаций
Если есть возможность - хорошим вариантом является установка 2-4+ НВН-серверов на машине (или на группе машин), так чтобы папка servervault была общая. Если одна машина - все просто, если больше - подойдет расшаривание папки с помощью nfs.
Самые "крутые" PW так и работают и проблем не знают.
Правило тут простое. Два сервера по 40 локаций - лучше чем один с 80-ю локациями. Нагрузка возрастает НЕлинейно и в определенный момент (количество лок, игроков на шарде и т.п) начинаются дикие лаги.

2.Сильно нагружает сервак pathfinding - когда игрок тыкает мышой и сервер ищет путь. Всякие плейсиблы мешающие очень нагружают сервер.
Есть правило - не более 2 плесиблов на 1 кв. тайл. Т.е. если размер локации 8*8 - то не более 8*8*2=128 плейсиблов. Чем меньше - тем меньше нагрузка. Если ставить - то желательно там, где никто не ходит (вдоль стенок или в недоступных для игрока месте)

3. Со скриптами вроде давно порешали. Если возникает в логе сообщение, о том что пропущен такой-то скрипт - надо идти и копать. Движок сам обрубает скрипты, если высокая нагрузка и скрипт привысил время выполнения.

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

5. Не использовать активную запись в БД или чтение данных большого объема из БД и 2да.

6. Не злоупотреблять локальными переменными и прочим. Все хранится не слишком компкатно и скороть доступа падает нелинейно, начиная с некоторого значения это будет особо заметно

7. Любой моб отжирает кучу процессорного времени. Используйте спавн мобов с ваулта или поправьте стандартный, чтобы убирал мобов если на локации некоторое время нет игроков.


Признаки того, что у вас начались проблемы:
1.Сообщения о ошибке в скриптах (возникают иногда, если всегда - просто найдите ошибку smile.gif )
2.Замирают часы на шарде. Вроде смена времени идет, а часы показывают одну и ту же дату. (лечится, но сам факт как показатель серьезной нагрузки)
3.Мобы начинают "тормозить". Если наспавнилось уже несколько тысяч мобов, остальные появляются не сразу и реакция на игроков у них заторможенная. Лечится удалением мобов там, где нет игроков.

тема бесконечная, но что вспомнил - написал
Raven
Два вопроса :

1. Наличие хак-паков увеличивает загрузку CPU сервера ?

2. Небольшой вопрос-оффтопик - если уменьшать количество локаций - какое количество локаций опимально дла онлайна 10-15 человек ?
_kaa_
1. Наличие хак-паков увеличивает требования к памяти. На загрузку ЦПУ сам факт наличия хаков - не оказывает заметного влияния.

2. Вопрос не корректен smile.gif Что есть оптимально? smile.gif
Raven
Оптимально... ну смотри, у меня онлайн - сейчас 7-10 чел, думаю, поднимется до 15, может немного больше. В модуле - около 500 локаций. Огромная часть их просто не используется - юзеры се бегают по знакомым проторенным дорожкам и все. Реально используется локаций 150-200. Поэтому и спрашиваю - из расчета 10-15 человек - какое примерно должно быть количество локаций, чтобы они не простаивали зря (и не жрали CPU biggrin.gif ) но в тоже время - чтобы не было однообразия
Элендор
Ну вощем вот что я тебе скажу делай ну около 200-300 локав... Даже 200 будет достаточно но выбери те которые тебе очень нравятся...
Oksivarus
Если можете то скажите что лучьше для шарда и меньше напрягает ресурсы

400 локаций 5х5 или 100 локаций 10х10 ? обьщий размер одинаковый!!!

Lexey aka Hawk
Если брать без учета прочих факторов, то лучше 100 локаций 10*10. Вопрос в том какой спавнер стоит, если правильный, то быстрее будет работать на 400 локациях smile.gif
Tinkblad
Дурья башка, пропустил тему. Какая-то общая проблема. Кстати, а в случае использования ОС Windows в качестве машины для сервера - такие же проблемы возникают ?
2GoDoom
Мда...
500 локаций wacko.gif для 10-15 человек думаю и ста, но качественных и хороших хватит за глаза pardon.gif Проработай каждую, а не дави количеством - тогда и тормозов меньше будет и приятнее играть станет pardon.gif
Если будет расти кол-во человек (например будет 25+) - то можно будет уже прилепит ьеще 50 лок... pardon.gif

Известно: локации лучше не делать больше, чем 12*12. И лучше сделать 1 локу 12*12, чем 2е локи 6*6.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.