Fórum Root.cz

Hlavní témata => Server => Téma založeno: Janigena 07. 03. 2013, 08:10:11

Název: Omezení využití procesoru pro web na Apache
Přispěvatel: Janigena 07. 03. 2013, 08:10:11
Dobrý den,

mám na serveru Ubuntu 10.04.3 LTS Apache a fotogalerii zenPHOTO (zenphoto.org, napsáno v PHP).

Funguje to dobře, ale když si uživatel nahraje novou galerii a dá vygenerovat náhledy,
což znamená zmenšování a zaostřování obrázků, tak všechna 4 jádra procesoru
na serveru vylítnou na 100 % a zůstanou tak, dokud se operace neprovede.
V té době server nereaguje na žádné jiné požadavky - ostatní weby stojí.

dotaz: Je možné nějak omezit přístup k prostředkům pro konkrétní web?
Např. určit, že smí využít třeba jen 2 jádra, nebo určité procento výkonu?

Dík.
Název: Re:Omezení využití procesoru pro konkrétní web na Apache
Přispěvatel: orm 07. 03. 2013, 08:56:16
Dobrý den,

spouštějte web s fotkama pod jiným systémovým uživatelem než pod kterým běží ostatní weby, a tomu uživateli, na úrovni systému, nastavte limit na využití procesoru. Články jak to udělat jsou i zde na rootu, např. zde

http://www.root.cz/clanky/oddelte-od-sebe-uzivatele-serveru-apache-a-php/
Název: Re:Omezení využití procesoru pro web na Apache
Přispěvatel: to_je_jedno 07. 03. 2013, 12:39:59
otazka je jestli by to pomohlo... zjistovali jste jaky proces to vytizi? to je to podstatne - zjistit JAK to ta galerie generuje. Pokud pres GD tak by to slo omezit na apache/php (pak zalezi jestli to mate CGI nebo modul).
Myslim si ale, ze treba pri pouziti imagemagick by bylo zbytecne cokoliv resit na urovni apache.
Název: Re:Omezení využití procesoru pro web na Apache
Přispěvatel: anonym 07. 03. 2013, 13:54:58
alternativne bych asi sahnul do aplikace a nechal ji ty obrazky generovat asynchrone - PHP by poslal prikaz nejake samostat sluzbe (ktera pobezi s nizsi prioritou), ktera by obrazky prohnala pres imagemagick a ulozila tam kde je PHP ceka
jen je potreba pak pri zobrazeni pocitat s tim ze obrazek muze byt jeste ve fronte
Název: Re:Omezení využití procesoru pro konkrétní web na Apache
Přispěvatel: Janigena 07. 03. 2013, 15:59:12
Články jak to udělat jsou i zde na rootu, např. zde
http://www.root.cz/clanky/oddelte-od-sebe-uzivatele-serveru-apache-a-php/

Díky za odpovědi.

Udělal jsem to podle toho článku, ale nevím co dál.
Přesunul jsem fotogalerii do zvláštního podadresáře, udělal k tomu virtual host, aby se to spouštělo pod daným uživatelem.
Stránky jsou funkční, moduly mod_suexec a mod_fcgid jsou načtené, ale ve výpisu procesů (htop) je stejně vidět jenom www-data.
Při generování náhledů spotřebovává výkon /usr/sbin/apache2 -k start spuštěný uživatelem www-data.
Myslel jsem, že při použití Suexec uvidím nějaký proces spuštěný určeným uživatelem. Jak ověřit, že to vůbec funguje?