Bo czĹowiek gĹupi jest tak bez przyczyny
Złe wieści dla wszystkich planujących hostowanie serwera NWN2!
Przygotujcie się na niemały wydatek na kości RAM.
Od jakiegoś czasu pojawiały się różne sygnały mówiące o problemach
jakie będą mieć stałe światy NWN2. Pojawiły się pierwsze informacje
techniczne tłumaczące detale tego problemu.
Serwer NWN2 będzie trzymał w pamięci tylko lokacje na których jest
conajmniej jeden gracz. Tak więc na serwerach typu opowieść (np drużyna
graczy przechodzi singlowy moduł) nie ma problemu gdyż załadowana jest
zwykle jedna lub 2 lokacje naraz.
W przypadku stałych światów zaczynają się schody..
Czemu?
Ponieważ tam nie ma jednej drużyny i teoretycznie każdy może być na innej lokacji.
Pojedyncza lokacja w pamięci serwera to około 30mb załadowanegowalkmesha' tej lokacji i około 5mb innych informacji (np. drzewa czy
inne obiekty) co daje nam 35mb na pojedynczą lokacje, a bardziej
rozbudowane lokacje jak miasta pewnie więcej.
Przeliczmy teraz ekstremalny przypadek.
Zakładamy że:
- lmamy 64 graczy
llkażdy gracz na innej lokacji
llkażda lokacja zabiera od 35mb do 40mb ramul
64 * 35mb=2240mb !!
64 * 40mb=2560mb !!
Jak sami widzicie to ogromna ilość wymaganego ramu !!
Należy też wziąć też pod uwagę że:
- lserwer faktycznie będzie wymagać więcej ramu ponieważ nie tylko lokacje muszą być w pamięci ale i inne zasoby jak palety stworów czy skrypty
ll
llprzez długi czas nie zobaczymy serwerów linuksowych wiec trzeba wziąć poprawkę że Windows i jego śmieci też trochę ramu zabierająl
Oczywiście taka sytuacja ze każdy jest gdzie indziej nie zdarza się co
chwilę i przeciętne obciążenie serwera będzie około 1gb ramu. Powyższe
wyliczenia są tylko po to aby naświetlić wam problem z jakim przyjdzie
się zmierzyć każdemu hosterowi.
UPDATE:
Chyba jest gorzej niż początkowo podejrzewaliśmy. Podobno wszyskie lokacje są ładowane do pamięci niezależnie czy gracz na danej lokacji jest czy nie. Jeśli to okaże się prawdą to będziemy potrzebować około 6,8gb ramu aby hostować moduł z 200 lokacjami, a co dopiero większe moduły :/
UPDATE2:
Dobra nowina.
Okazało się że powyższe dane mówiły o lokacjach o wymiarach 32x32.
Tak więc dla lokacji 16x16 będzie 4 razy mniejszy walkmesh czyli około 7,5mb walkmesha + 5mb innych informacji co daje nam obciążenie rzędu 12,5mb.
Czyli 200 lokacji 16x16 to było by w okolicach 2,4gb ramu.
Zawsze to mniej niż 6,8gb
KOREKTA:
16x16 zabiera średnio ok. 20 MB na sam walkmesh. Niektóre takie obszary, nawet bez przekombinowanego walkmesha mają ponad 30 MB.
32x32 to ponad 50 MB na sam walkmesh.
Tares przenosi artykuły z jportalu aby nie przepadły jak ten zrobi kaboom.
Swoją drogą przy okazji trzeba będzie je nieco zrewidować, gdyż większość z tych artykułów była pisana jeszcze przed premierą nwn2 i część danych już nie jest aktualna.
Darmowy hosting zapewnia PRV.PL