abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 02:22 | Pozvánky

Fedora 31 Release Party, tj. oslava nedávného vydání Fedory 31, se uskuteční ve středu 20. listopadu v Brně. Program přednášek bude upřesněn.

Ladislav Hagara | Komentářů: 0
dnes 01:11 | Nová verze

Příspěvek na blogu webové aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) představuje novinky a ukazuje náhledy nové major verze 1.10.0 této v programovacím jazyce Go naprogramované aplikace. Nově jsou například vedle sebe zobrazovány původní a nové verze obrázků.

Ladislav Hagara | Komentářů: 0
včera 22:33 | IT novinky

Společnost Docker stojící za stejnojmennou kontejnerovou technologií čelila vážným finančním problémům. Stávající investoři do ní ale vložili dalších 35 milionů dolarů a společnost Mirantis odkoupila Docker Enterprise.

Ladislav Hagara | Komentářů: 0
včera 16:11 | IT novinky

Od 24. listopadu bude možné předobjednat přenosný počítač Pocket Popcorn Computer (Pocket P.C.) s 1.2 GHz Quad-Core ARM Cortex-A53 CPU, 2GB DDR3 RAM, 32GB eMMC Memory, 4.95" Full HD IPS LCD a 3200 mAh Removable Battery. Počítač by měl být odesílán v květnu 2020. Předinstalován by měl být Debian 10.

Ladislav Hagara | Komentářů: 23
včera 11:11 | Komunita

Canonical věnoval nadaci UBports další telefony a tablety pro podporu vývoje Ubuntu Touch, tj. Ubuntu pro telefony a tablety. Vybraní vývojáři Ubuntu Touch je mohou získat zdarma.

Ladislav Hagara | Komentářů: 7
včera 09:33 | Zajímavý projekt

Společnost GitHub v rámci svého GitHub Archive Programu vytvoří několik off-line záloh open source softwaru nacházejícího se na GitHubu pro budoucí generace. První taková záloha všech aktivních repozitářů proběhne 2. února 2020 ve spolupráci se společností Pigl na jejich piqlFilmy a uložena bude v Arktickém světovém archivu. Případné obnovení ze zálohy by mělo být možné i za 1 000 let.

Ladislav Hagara | Komentářů: 6
včera 05:55 | Nová verze

Dnes a zítra probíhá v Praze konference Internet a Technologie 19 pořádaná sdružením CZ.NIC. Sledovat ji lze online.

Ladislav Hagara | Komentářů: 1
13.11. 19:44 | Nová verze

Brendan Eich, mj. autor JavaScriptu a několikadenní CEO Mozilly, představil v lednu 2016 webový prohlížeč Brave (Wikipedie, GitHub). Dnes byla vydána verze 1.0 tohoto webového prohlížeče. K dispozici jsou také balíčky pro Linux.

Ladislav Hagara | Komentářů: 11
13.11. 17:11 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 170. brněnský sraz, který proběhne v pátek 15. listopadu od 18:00 v restauraci Vegalité (Slovákova 10).

Ladislav Hagara | Komentářů: 2
13.11. 11:55 | Nová verze

Po půl roce vývoje od vydání verze 5.2 byla vydána nová verze 5.3 svobodného open source redakčního systému WordPress. Kódové označení Kirk bylo vybráno na počest amerického jazzového multiinstrumentalisty Rahsaana Rolanda Kirka.

Ladislav Hagara | Komentářů: 9
Jaké hodinky nosíte (nejčastěji)?
 (24%)
 (7%)
 (14%)
 (55%)
Celkem 147 hlasů
 Komentářů: 10, poslední včera 16:20
Rozcestník

www.AutoDoc.Cz

Dotaz: je LAMP / PHP single thread?

13.10. 22:38 marky
je LAMP / PHP single thread?
Přečteno: 273×
Mám jedno CMS v PHP články formátujem cez markdown hľadal som nejaký šikovný konvertor pre PHP takže som vybral tento https://parsedown.org/ akurát mi v ňom nefungovali veci nad rámec štandardu markdown napríklad pridávanie CSS classov na elementy cez {.nejakatrieda}. Vyhodil som ho teda. A upravil som jednu aplikáciu ktorá obsahuje jeden vymakaný (nephpčkový) markdown parser MarkDig. Ten má kopu rozšírení, pridal som teda do appky nový controller MarkdownController a akciu ToHtml takže teraz ten markdown parser pouzivam z PHP aplikácie cez restové api.

POST /markdown/to-html pošlem mu postom string v markdowne a dostanem json obsahujúci html.

Lenže to má jednu drobnú nevýhodu: Pristupujem z jednej domény na inú. Celý preklad z MD do HTML trvá nejaky kratky cas mozno 500 ms. lenže na tých pol sekundy vlastne zamrzne celé PHP možno dokonca aj celý apache. Keď som mal otovrený debugger tej aplikácie (ktorá poskytovala to REST api) a dal som si breakpoint na miesto kde sa prekladá markdown do HTML a začal som ju krokovať tak spolu s ňou zamzla aj tá PHP aplikácia ktorá očakávala response z rest api.

Neviem presne technické detaily ako funguje PHP (cakal som ine spravanie), ale mám dojem že PHP beží na len jednom vlákne. A a kým mi ne-php REST api nevráti response tak vlastne neni k dispozízii cela stranka? Správne to chápem? Takže asi by bolo dobré aby to neblokovalo hlavné vlákno. Keby som nebol v PHP tak by som to hodil buď na nové vlákno alebo spustil ako task, thread, TPL, thread pool, alebo pouzil backgroundworker alebo niečo podobnbé ale podporuje také niečo aj PHP? A rovnako aj posielanie emailov by malo prestat blokovat hlavne vlakno

Odpovědi

13.10. 23:26 M. Ponkrác | skóre: 3
Rozbalit Rozbalit vše Re: je LAMP / PHP single thread?
Nevím jak je to dnes, ale před řadou let fungoval Apache tak, že spustil houf procesů nebo threadů. A v tomto poolu pak honil HTTP requesty.

Pár HTTP requestů tedy nemohlo zablokovat ani Apache, ani PHP, protože paralelně jich mohlo běžet větší množství.

Jinak ano, PHP je single-thread. Ale protože je většinou spuštěn x-krát v poolu, tak jeden request by to neměl mít možnost zablokovat.

Onlouvám se, pokud jsou mé informace již zastaralé, a dnes už se to dělá jinak. Už to pár let nesleduji jak se to vyvíjí.
14.10. 00:23 Kit | skóre: 43 | Brno
Rozbalit Rozbalit vše Re: je LAMP / PHP single thread?
PHP běží jednovláknově, ale Apache vytvoří pro každý HTTP požadavek nové vlákno (resp. si ho vezme z poolu) a v každém z nich může běžet jiné PHP. K blokování tedy nedochází.

PHP samo umí fungovat jako jednovláknový HTTP server, u kterého by k takovému problému mohlo dojít. Proto se používá jen pro testovací účely.

BTW: 500 ms na zpracování Markdownu je hodne. To je v tom celá kniha?
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
14.10. 06:00 Matlák
Rozbalit Rozbalit vše Re: je LAMP / PHP single thread?
Keď som mal otovrený debugger tej aplikácie (ktorá poskytovala to REST api) a dal som si breakpoint na miesto kde sa prekladá markdown do HTML a začal som ju krokovať tak spolu s ňou zamzla aj tá PHP aplikácia ktorá očakávala response z rest api.

Nevím jestli to chápu dostatečně ale tohle mi přijde logické - protože krokuješ překlad jehož výsledek pak vracíš, nemůžeš čekat že ta aplikace která response čeká ho nějakým zázrakem dostane s předstihem dřív, než ten překlad odkrokuješ nebo pustíš. To je tuším něco jako kauzalita.

Pokud bys to pustil asynchronně (a že je to v PHP podporované velmi mizerně) tak bys a) musel stejně čekat než se ten proces dokončí abys mohl ukončit skript a vrátit výsledek a nebo b) bys výsledek zahodil a tvé REST API by nevrátilo nic.

p.s. pomiňme teď fakt že vracet z REST služby HTML zabalené v JSON je oescapovaný hnus a že používat PHP v PHP přes REST je ještě větší hnus

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.