ugrás a tartalomhoz

Párhuzamosítás PHP-ben

inf3rno · 2014. Ápr. 24. (Cs), 22.46
Párhuzamosítási megoldások PHP-ben
 
1

Jó összefoglaló

BlaZe · 2014. Ápr. 25. (P), 01.33
Jó összefoglalása az elmúlt hetek témájának, grat :)

Annyit tennék hozzá a threades részhez, hogy ha webes script indítgat több threadet, akkor az elég nehezen kontrollálható erőforráskezelést fog eredményezni. Igaz, hogy shared heapet használnak a threadek, viszont saját stacket, nem tudom ennek állítgatására a pthreads biztosít-e lehetőséget. Ha nem, és/vagy linux default stack size-t használ (ez 64 bites linuxon alapból általában 8MB), az pl lehet csúnyán lábon lövős... Emiatt (is) thread poolokat szoktak használni, ami php esetében nem igazán játszik, mivel a requestek külön processzekbe esnek be. Szóval a gyakorlatban a pthreads-et én inkább csak daemonban javasolnám (ha már phpban ilyet perverzkedünk :)), mert ott lehet felettük kontrollod. Meg a túl sok thread cpu használat szempontjából sem feltétlenül produktív, de ez persze már függ a feladattól (jellemzően I/O igényes műveleteknél éri meg növelni a threadek számát). Természetesen ez igaz a processekre is, csak gondolom ott valamivel egyértelműbb ez az aspektus.
2

Van több osztály, köztük Pool

inf3rno · 2014. Ápr. 25. (P), 02.17
Van több osztály, köztük Pool is a pthreads-ben.

A stack size-ra nem találtam semmit, a c-ben lehet módosítani, a php-s verzióban egyelőre úgy tűnik nincs rá lehetőség.

Ha szeretnél beleírni a cikkbe, szólj nyugodtan. A cikket áttekintésnek szántam, nem mélyedtem bele különösebben egyik technológiába sem, inkább csak olvasgattam róluk egy konkrét probléma miatt. Végül kiderült, hogy a cooperative multitasking és szinkron kód használata teljesen megfelel, sőt újra átgondolva a problémát talán még az sem fog kelleni. Újabban sokkal több időt töltök a lehetőségek feltérképezésével, mint a kódolással... Még írni fogok egy csomó ilyen összefoglalót a későbbiekben, elsősorban architecture, cqrs, event sourcing, message queue, rest stb... témákban. Az event sourcing most kifejezetten izgatja a fantáziámat.
4

Nagyon jó, itt lenne a helye

Pepita · 2014. Ápr. 25. (P), 10.08
A cikket áttekintésnek szántam
Erre nagyon is jó, itt is a cikkek közt lenne a helye és egyben Gábor cikkajánlójában is.
Még írni fogok egy csomó ilyen összefoglalót a későbbiekben
Előre is köszi!
6

A weblaboros cikkeknél az

inf3rno · 2014. Ápr. 25. (P), 16.51
A weblaboros cikkeknél az injection-ös cikk, amit idáig nem sikerült elintéznem. Sajnos túl hosszú lett, valahogy szét kellene darabolnom. Először arra gondoltam, hogy egy accordion-ba teszem, de talán jobb lenne, ha újraírnám az egészet, és csak az alapelveket írnám le, utána meg ömlesztve jönnének a példák minden nyelven...
7

[OFF]

Pepita · 2014. Ápr. 25. (P), 17.01
Akkor újra felmerült a régóta tartó probléma: miért olyan nehéz a WL-re cikket írni / megjelentetni...
Ádám végre leírhatná az alapszabályokat, a használandó tageket, mi meg írhatnánk hozzá szerkesztőt.
8

Hát tényleg off... :-) Jobb

inf3rno · 2014. Ápr. 25. (P), 17.13
Hát tényleg off... :-) Jobb lenne lecserélni a mostani bbcode-os megoldást egy wysiwyg html szerkesztőre ahelyett, hogy email-en küldözgetnénk a cikkeket.
9

+1

Pepita · 2014. Ápr. 25. (P), 18.42
Ha volna miből gazdálkodni (tagek és szabályok pontos ismerete), akkor megcsinálhatnánk hozzá a szerkesztőt külön is, az oldalhoz nem hinném, hogy egyhamar hozzányúlnak. :(
3

Köszi, nagyon jó volt!

zzrek · 2014. Ápr. 25. (P), 09.14
Főleg a PCNTL tetszik, kár, hogy windowson nincs.
(A manual nem írja, hogy a főprocessben a visszatérési érték, a pid mindig 1, de ez mindegy, a lényeg hogy nem -1 és nem falsy)
5

Igaz, a PID a visszatérési

inf3rno · 2014. Ápr. 25. (P), 16.26
Igaz, a PID a visszatérési érték, nem 1, javítom. :-) Ez van, ha az álmatlanság miatt hajnal 4-kor ír cikket az ember... Volt már több hasonló hiba is, köszönöm a visszajelzéseket!

PCNTL-el kapcsolatban lehet találni tök szép példákat, ha sokat keres az ember: pleac_php/processmanagementetc.html.