Zadejte hledaný výraz...

Vícevláknový php skript

Petr
verified
rating uzivatele
20. 6. 2013 22:19:39
Zdravim, mám dotaz, jak se chová vícevláknový skript na sdíleném hostingu.
Pokud by třeba skript používal 2 vlákna a poskytovatel hostingu má vícejádrový CPU, budou se na tomto skriptu skutečně podílet 2 fyzická jádra? Nebo pouze jedno, které se chová jako 2 paralelním střídáním relace?Případně je to omezeno počtem souběžně možných běžících procesů, které hostingy uvádějí?
Je toto chování jiné na VPS?
Nebo je nejlepší mít vlastní dedik server?
Díky
20. 6. 2013 22:19:39
https://webtrh.cz/diskuse/vicevlaknovy-php-skript#reply914999
Dave3991
verified
rating uzivatele
20. 6. 2013 22:30:04
nejsem si jist, zda lze v php napsat více vláknové aplikace...
20. 6. 2013 22:30:04
https://webtrh.cz/diskuse/vicevlaknovy-php-skript#reply914998
Karel Kohout
verified
rating uzivatele
(10 hodnocení)
20. 6. 2013 22:50:49
Napsal Damian;964505
Zdravim, mám dotaz, jak se chová vícevláknový skript na sdíleném hostingu.
Pokud by třeba skript používal 2 vlákna a poskytovatel hostingu má vícejádrový CPU, budou se na tomto skriptu skutečně podílet 2 fyzická jádra? Nebo pouze jedno, které se chová jako 2 paralelním střídáním relace?Případně je to omezeno počtem souběžně možných běžících procesů, které hostingy uvádějí?
Je toto chování jiné na VPS?
Nebo je nejlepší mít vlastní dedik server?
Díky
Ani jedno - PHP navíc není (moc) thread-safe. Standardně se ti PHP skript zpracovává pod jedním procesem, ve kterém běží instance Apache, co požadavek zpracovává (prefork), čili na jednom jádru hezky za sebou (u worker to běží ve vláknech, ale princip podobný). V obou případech ale něco jako thready v PHP neuděláš, ledaže bys z jednoho skriptu spouštěl (exec a spol) nějaké další a čekal, co to udělá, což je prasárna...
20. 6. 2013 22:50:49
https://webtrh.cz/diskuse/vicevlaknovy-php-skript#reply914997
James_Scott
verified
rating uzivatele
(7 hodnocení)
20. 6. 2013 23:12:48
Napsal karel.kohout;964513
Ani jedno - PHP navíc není (moc) thread-safe. Standardně se ti PHP skript zpracovává pod jedním procesem, ve kterém běží instance Apache, co požadavek zpracovává (prefork), čili na jednom jádru hezky za sebou (u worker to běží ve vláknech, ale princip podobný). V obou případech ale něco jako thready v PHP neuděláš, ledaže bys z jednoho skriptu spouštěl (exec a spol) nějaké další a čekal, co to udělá, což je prasárna...
Mám takovej dojem, že se pleteš - Apache, ať už prefork nebo worker obstarává HTTP přenos a statické věci, PHP na to nemá vliv. Naopak záleží, jak je PHP na serveru nainstalováno - mod_php,cgi,fastcgi(d), fastcgi + PHP-FPM, MPM-ITK... Druhá věc je, jestli to vůbec v samotném PHP nějak jde..
20. 6. 2013 23:12:48
https://webtrh.cz/diskuse/vicevlaknovy-php-skript#reply914996
elbia
verified
rating uzivatele
(3 hodnocení)
21. 6. 2013 00:15:30
Skuste sa pozriet na modul PCNTL:
http://www.php.net/manual/en/intro.pcntl.php
V kazdom pripade, PHP vlakna nepodporuje, takze nieco ako plnohodnotny multiprocessing je na nom nemozne.
21. 6. 2013 00:15:30
https://webtrh.cz/diskuse/vicevlaknovy-php-skript#reply914995
Pro odpověď se přihlašte.
Přihlásit