Jak spustit vytěžovací úlohu, když se server fláká

Mám VPS na něm mám webserver, který dle návštěvnosti během dne různě vytěžuje server. Chtěl bych, aby v situaci kdy je server mála zatížen se automaticky spustila další úloha, která využije nevyužitý výkon serveru a aby v situaci, kdy zátěž webseveru opět vzroste se tota dodatečná úloha opět pozastavila. Je něco takového možné? Jak toho docílit?
« Poslední změna: 16. 07. 2019, 08:28:34 od Jirka_hav »


dr_ak

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #1 kdy: 16. 07. 2019, 09:05:05 »
Třeba spustit úlohu s nižší prioritou, než se kterou je spuštěný webserver. Nebo monitorovat zátěž (load) a dle toho spouštět další úlohu.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #2 kdy: 17. 07. 2019, 13:14:24 »
spustit takový proces s opravdu minimální prioritou (na linuxu hledej nice), mělo by ti to na tvoje potřeby stačit.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #3 kdy: 17. 07. 2019, 14:11:19 »
Chtěl bych, aby v situaci kdy je server mála zatížen se automaticky spustila další úloha, která využije nevyužitý výkon serveru a aby v situaci, kdy zátěž webseveru opět vzroste se tota dodatečná úloha opět pozastavila. Je něco takového možné? Jak toho docílit?

Především docílíte výpovědi smlouvy. Poskytovatelé VPS vycházejí z toho, že poměr CPU:vCPU se pohybuje 1:4 - 1:6. Pokud VPS vytíží CPU trvale, řeší se to pohovorem s klientem, doporučením přechodu na nesdílenou službu a v extrémním případě výpovědí.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #4 kdy: 17. 07. 2019, 16:01:48 »
Především docílíte výpovědi smlouvy. Poskytovatelé VPS vycházejí z toho, že poměr CPU:vCPU se pohybuje 1:4 - 1:6. Pokud VPS vytíží CPU trvale, řeší se to pohovorem s klientem, doporučením přechodu na nesdílenou službu a v extrémním případě výpovědí.

Třeba má svůj hardware. Také záleží na poskytovateli, IMHO si to může totiž řešit poskytovatel i ve vlastní režii, čímž si ušetří nutnost pohovorů.


Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #5 kdy: 17. 07. 2019, 17:05:32 »
Také záleží na poskytovateli, IMHO si to může totiž řešit poskytovatel i ve vlastní režii, čímž si ušetří nutnost pohovorů.

ISP to řešit moc nemůže. Buďto by musel zalimitovat tu "zlobivou" VPS, čímž by ale porušil podmínky služby. Nebo to nechá běžet, ale v tu chvíli zase ví, že nedodrží podmínky služby pro ostatní VPS na stejném hardware. Bohužel hypervizory nemají na prostředky žádný inteligentní "shaping", takže je to, aspoň co já vím, založené na monitoringu a řešení situací se zákazníky.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #6 kdy: 17. 07. 2019, 18:32:10 »
Také záleží na poskytovateli, IMHO si to může totiž řešit poskytovatel i ve vlastní režii, čímž si ušetří nutnost pohovorů.

ISP to řešit moc nemůže. Buďto by musel zalimitovat tu "zlobivou" VPS, čímž by ale porušil podmínky služby. Nebo to nechá běžet, ale v tu chvíli zase ví, že nedodrží podmínky služby pro ostatní VPS na stejném hardware. Bohužel hypervizory nemají na prostředky žádný inteligentní "shaping", takže je to, aspoň co já vím, založené na monitoringu a řešení situací se zákazníky.

Ale ty podmínky služby si ISP stanovuje sám, ne? Například VPSFree:

Citace
Pokud ovšem VPS vytěžuje přidělená jádra více než jeden den, nebo pokud je fyzický stroj hodně vytížen, dostanou nejaktivnější VPS omezení jen na dvě jádra. Po vyřešení problémů vrátíme nastavení zpět. Napiš na podporu.

Herní servery mají zvláštní pravidla. Pokud člen spustí více než pět instancí herních serverů, dostává limit na 50 % jednoho jádra.

Sice tam mají tu komunikaci, ale na druhou stranu nejspíš nic nebrání tomu, aby se to po odstranění zátěže vrátilo do původního stavu třeba i automaticky.

David

  • ***
  • 145
    • Zobrazit profil
Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #7 kdy: 17. 07. 2019, 19:29:30 »
Vytížení CPU znamená rapidně vyšší spotřebu elektřiny a rázem se dostáváte někam, za co jste nezaplatili. Někteří poskytovatelé umožňují zaplatit si dedikovany CPU, ale i tam bych se obával to vytezovat na 100 % nonstop. Těžit kryptomeny prostě na vps za pár stovek nejde.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #8 kdy: 22. 07. 2019, 08:47:15 »
Sytémovou utilitku nice znám ta však neřeší všechny problémy. Jak mnozí z diskutérů uvedly není, moudré vytěžovat server na 100%. Hledám řešení, které mi umožní, zapínat vytěžovací úlohy v případě, pokud průměrné vytížení serveru za poslední hodinu nepřesáhlo například 30%. Podobně by bylo hezké brát v úvahu, operační paměť, nebo zápisy na disk. Tohle pomocí nice, pokud vím,  nezvládnu.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #9 kdy: 22. 07. 2019, 09:08:33 »
Teoreticky cgroups: vytvoris osobitny cgroup pre svoju ulohu a nastavis na nu rozne obmedzenia zdrojov (cpu/mem/blkio). Stale je to vsak iba o limitovani zdrojov. Z tvojho popisu je vsak jasne, ze ty chces scheduler. Pokial nepojdes na uroven kernel scheduleru, tak mozes napr. pouzit Kubernetes kde si napises vlastny scheduler, ktory bude managovat tvoj task podla tvojej logiky.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #10 kdy: 22. 07. 2019, 10:25:13 »
Sytémovou utilitku nice znám ta však neřeší všechny problémy. Jak mnozí z diskutérů uvedly není, moudré vytěžovat server na 100%. Hledám řešení, které mi umožní, zapínat vytěžovací úlohy v případě, pokud průměrné vytížení serveru za poslední hodinu nepřesáhlo například 30%. Podobně by bylo hezké brát v úvahu, operační paměť, nebo zápisy na disk. Tohle pomocí nice, pokud vím,  nezvládnu.
Proč to chcete dělat? Vypadá to, že se snažíte ručně optimalizovat něco, co bude jádro optimalizovat mnohem lépe.

Re:Jak spustit vytěžovací úlohu, když se server fláká
« Odpověď #11 kdy: 22. 07. 2019, 16:02:27 »
Nástroje nice, ionice a ulimit by mohly stačit, nebo lze použít cgroups pro komplikovanější případy. Také může mít patřičné omezovací nástroje přímo ten software, který hodláte využít.

Určitě bych se zamyslel, zda tím nebudete někoho poškozovat (třeba v práci to určitě nebude dovolená praktika). Pokud máte soukromý server, tak to bude samosebou bez problému. U VPS bych konzultoval s poskytovatelem.