Adott egy viszonylag primitiv script ami jatek szervereket vezerel (start, stop). Ezek tobbsege bash es perl script.
Es adott egy olyan webszerver ami idonkent eleg nagy terhelest okoz a gepen. Annyira, hogy meg a jatek szerverek is elkezdenek laggolni. Ezen a webszerveren keresztul lehet vezerelni a jatek szerveket. Minden jatek szerver mas user alatt fut
Ez az egesz cucc egy 4 magos procival rendelkezo gepen megy.
Kitalaltam azt, hogy a webszervert csak 1 magon futtatom es leveszem a prioritasat is (taskset es nice parancs) mert nem baj ha a web belassul, de a jatekok ne laggoljanak.
Viszont igy az osszes jatek szerver azon a magon es prioritassal akar menni, raadasul utolag az user nem is tudja allitani ami ertelemszeru.
Hogy tudom megcsinalni azt, hogy az webszerveren keresztul inditott mas userkent futo jatek szerverek a tobbi magon es mas prioritassal fussanak?
- 1563 megtekintés
Hozzászólások
Első körben valami ilyesmi jut eszembe, szóval egy wrapper:
#!/usr/bin/env bash
exec /usr/bin/nice -n -20 /path/to/script
Viszont ennek kell root jog vagy "Under Linux the CAP_SYS_NICE capability is required". Ez valószínűleg neked nem lesz jó, bár ki tudja.
Egyébként ha ezek hosszú ideig futó és viszonylag ritkán indított processzek, akkor valmi cron-ból indított script-el időnként megkeresni azokat amiknek még nem megfellő a prioritása és affinitása és beállítani azokat.
Ha letárolod az éppen futó játékszerverek PID-jeinek a listáját is valahol, akkor csak azt a listát kell nézned.
Jobb ötletem nincs erre.
Szerk.:
Ha van lehetőség a megfelelő capability-k beállítására vagy root-ként indításra, akkor a start-stop-daemon -al mindent szépen be tudsz állítani.
- A hozzászóláshoz be kell jelentkezni
Esetleg fcgi segíthet ebben.
- A hozzászóláshoz be kell jelentkezni
Ez lett a megoldas: http://acme.com/software/mini_httpd/
Fuggetlen masik porton mukodo http szerver olyan prioritassal es affinitassal amilyet szeretnek :)
-------------------
http://www.rtvstat.hu/ - A legtöbb magyar rádió és TV egy helyen!
- A hozzászóláshoz be kell jelentkezni