MaNGOS na VPS hostingu s pamětí 512 MB: Porovnání verzí

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
Řádek 4: Řádek 4:


Samozřejmě 512 MB je hodně málo pro takový herní server a tedy je potřeba si dobře rozmyslet kde a jak maximálně ušetřit paměť.
Samozřejmě 512 MB je hodně málo pro takový herní server a tedy je potřeba si dobře rozmyslet kde a jak maximálně ušetřit paměť.

==Nepotřebné služby==

Na serveru může běžet celá řada nepotřebných služeb. V případě virtualizovaných systémů na bázi OpenVZ běží v takovém počítači jen pár základních procesů. Ale i tak je potřeba přes povel '''ps aux''' zkontrolovat a povypínat nežádoucí služby pomocí povelu povelů '''service <služba> stop'' a také zrušit automatický start pomocí povelu '''chkconfig'''.

Výpis může pak vypadat např. takto:
<pre>[root@minimal /]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 2012 884 ? Ss 18:56 0:00 init
root 35 0.0 0.0 96 20 ? S 18:56 0:00 [init-logger]
root 313 0.0 0.2 30288 1160 ? Sl 18:56 0:00 /sbin/rsyslogd -c 4
root 345 0.0 0.1 3012 876 ? Ss 18:56 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
root 393 0.0 0.2 6388 1112 ? Ss 18:56 0:00 crond
root 457 0.0 0.1 8012 1048 ? Ss 18:59 0:00 /usr/sbin/sshd
root 522 0.0 0.0 2192 472 ? S<s 18:59 0:00 /sbin/udevd -d
root 617 0.0 0.1 6524 748 ? Ss 18:59 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root 618 0.0 0.0 6524 456 ? S 18:59 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root 30490 11.5 33.2 254996 174068 pts/5 Sl+ 20:40 4:46 ./mangos-worldd
root 32646 0.0 0.2 3324 1272 ? S 19:33 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --soc
mysql 32738 2.8 8.3 136588 43544 ? Sl 19:33 3:05 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql</pre>


==Web server==
==Web server==
Řádek 57: Řádek 77:




=MaNGOS=
==MaNGOS==


MaNGOS jakožto WoW server emulátor umožňuje nastavit mnoho různých parametrů. Některé mají zásadní vliv na nároky na paměť.
MaNGOS jakožto WoW server emulátor umožňuje nastavit mnoho různých parametrů. Některé mají zásadní vliv na nároky na paměť.


==Line of sight==
===Line of sight===


Výpočty kolizí překážek vyžaduje mimo vyššího výpočetního výkonu také více paměti a tedy pro úsporný server je potřeba tuto funkci ponechat vypnutou.
Výpočty kolizí překážek vyžaduje mimo vyššího výpočetního výkonu také více paměti a tedy pro úsporný server je potřeba tuto funkci ponechat vypnutou.


==GridUnload=
===GridUnload===


Ve výchozím nastavení je nastaveno na hodnotu 1, což znamená, že se má průběžně uvolňovat paměť s jednotlivých sektorů ve světě, když je hráči opustí. V opačném případě při nastavení na 0 si dokáže emulátor nárokovat i několik GB paměti navíc.
Ve výchozím nastavení je nastaveno na hodnotu 1, což znamená, že se má průběžně uvolňovat paměť s jednotlivých sektorů ve světě, když je hráči opustí. V opačném případě při nastavení na 0 si dokáže emulátor nárokovat i několik GB paměti navíc.


==ScriptDev2==
===ScriptDev2===


Skriptovací systém pro ovládání bytostí je spíše zaměřen na výpočty než paměť, ale přirozeně jeho absence by mohla uspořit trochu paměti.
Skriptovací systém pro ovládání bytostí je spíše zaměřen na výpočty než paměť, ale přirozeně jeho absence by mohla uspořit trochu paměti.

Verze z 16. 6. 2010, 19:23

Stačí pro spuštění a běh WoW emulátoru MaNGOS virtuální server hosting s pamětí pouze 512 MB? Odpověď samozřejmě zní, pro solidní provoz nestačí. Ovšem i tak je zajímavé zkusit, zda vůbec něco takového je možné.

Bojový plán

Samozřejmě 512 MB je hodně málo pro takový herní server a tedy je potřeba si dobře rozmyslet kde a jak maximálně ušetřit paměť.

Nepotřebné služby

Na serveru může běžet celá řada nepotřebných služeb. V případě virtualizovaných systémů na bázi OpenVZ běží v takovém počítači jen pár základních procesů. Ale i tak je potřeba přes povel ps aux' zkontrolovat a povypínat nežádoucí služby pomocí povelu povelů service <služba> stop a také zrušit automatický start pomocí povelu chkconfig.

Výpis může pak vypadat např. takto:

[root@minimal /]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2012   884 ?        Ss   18:56   0:00 init
root        35  0.0  0.0     96    20 ?        S    18:56   0:00 [init-logger]
root       313  0.0  0.2  30288  1160 ?        Sl   18:56   0:00 /sbin/rsyslogd -c 4
root       345  0.0  0.1   3012   876 ?        Ss   18:56   0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid
root       393  0.0  0.2   6388  1112 ?        Ss   18:56   0:00 crond
root       457  0.0  0.1   8012  1048 ?        Ss   18:59   0:00 /usr/sbin/sshd
root       522  0.0  0.0   2192   472 ?        S<s  18:59   0:00 /sbin/udevd -d
root       617  0.0  0.1   6524   748 ?        Ss   18:59   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root       618  0.0  0.0   6524   456 ?        S    18:59   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2
root     30490 11.5 33.2 254996 174068 pts/5   Sl+  20:40   4:46 ./mangos-worldd
root     32646  0.0  0.2   3324  1272 ?        S    19:33   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --soc
mysql    32738  2.8  8.3 136588 43544 ?        Sl   19:33   3:05 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql

Web server

Samotný web server Apache vyžaduje pro svůj běh minimum paměti, ale i tak je potřeba jej vůbec na serveru neprovozovat a ušetřit tak jednotky až desítky MB paměti. V kombinaci s PHP může vyžadovat vytížený web server i stovky MB.

MySQL server

Ten je nutný pro běh emulátoru, ale i u něj se dá lecos nastavit v konfiguračním souboru /etc/my.cnf. Především lze nastavit velikost paměťových bufferů pro řazení tabulek. Ve složce /usr/share/mysql lze nalézt ukázkové konfigurační soubory my-small, my-medium, my-large, my-huge.cnf s různou náročností na paměť pro různě zatížené servery. Nejmenší je zde my-small.cnf. Při pohledu do jeho obsahu je patrné, co vše lze v základu nastavit. Odděleně se zde nastavují velikosti pro databázové podsystémy MyISAM a InnoDB. Při prozkoumání tabulek MaNGOSu lze zjistit, že jsou používány oba systémy pro ukládání dat.

Při srovnání běhových proměnných výchozí instalace se šablonami konfigurace zjistíme, že výchozí konfigurace neodpovídá přímo žádné předdefinované.

my-huge.conf:

  • MyISAM
    • key_buffer_size = 384M
    • max_allowed_packet = 1M
    • table_open_cache = 512
    • sort_buffer_size = 2M
    • read_buffer_size = 2M
    • read_rnd_buffer_size = 8M
    • myisam_sort_buffer_size = 64M
    • thread_cache_size = 8
    • query_cache_size = 32M
    • thread_concurrency = 8 # Try number of CPU's*2 for thread_concurrency
  • InnoDB
    • innodb_buffer_pool_size = 384M
    • innodb_additional_mem_pool_size = 20M
    • innodb_log_file_size = 100M # Set .._log_file_size to 25 % of buffer pool size
    • innodb_log_buffer_size = 8M

Na tomto výpise jde vidět, které hodnoty by měly být větší a které stačí i menší.


Výchozí poinstalační nastavení:

  • MyISAM
    • key_buffer_size = 8M
    • max_allowed_packet = 1M
    • table_open_cache = 64
    • sort_buffer_size = 2M
    • read_buffer_size = 128k
    • read_rnd_buffer_size = 256k
    • myisam_sort_buffer_size = 8M
    • thread_cache_size = 0
    • query_cache_size = 0
    • thread_concurrency = 8 # Try number of CPU's*2 for thread_concurrency
  • InnoDB
    • innodb_buffer_pool_size = 8M
    • innodb_additional_mem_pool_size = 1M
    • innodb_log_file_size = 5M # Set .._log_file_size to 25 % of buffer pool size
    • innodb_log_buffer_size = 1M

Tedy výchozí nastavení je již samo o sobě nastaveno celkem nízko, ale je možné jej ještě snížit podle potřeby.


MaNGOS

MaNGOS jakožto WoW server emulátor umožňuje nastavit mnoho různých parametrů. Některé mají zásadní vliv na nároky na paměť.

Line of sight

Výpočty kolizí překážek vyžaduje mimo vyššího výpočetního výkonu také více paměti a tedy pro úsporný server je potřeba tuto funkci ponechat vypnutou.

GridUnload

Ve výchozím nastavení je nastaveno na hodnotu 1, což znamená, že se má průběžně uvolňovat paměť s jednotlivých sektorů ve světě, když je hráči opustí. V opačném případě při nastavení na 0 si dokáže emulátor nárokovat i několik GB paměti navíc.

ScriptDev2

Skriptovací systém pro ovládání bytostí je spíše zaměřen na výpočty než paměť, ale přirozeně jeho absence by mohla uspořit trochu paměti.


Vnější odkazy