abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 8
    dnes 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    dnes 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 1
    dnes 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 11
    včera 12:33 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).

    Fluttershy, yay! | Komentářů: 1
    včera 12:00 | Nová verze

    Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Rozcestník


    Vložit další komentář
    Vašek Lorenc avatar 3.8.2007 15:01 Vašek Lorenc | skóre: 27
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Docela hezké shrnutí, ale fastCGI není zase tak špatná věc.. právě kvůli možnosti pouštět ho pod svým uid, narozdíl od mod_python.
    ...včetně majestátného loosa
    Věroš avatar 3.8.2007 15:05 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Jo, to máš pravdu, to mi nedošlo, protože ho nepoužívám. Ale CGI je taky možné při troše dobré vůle setuid()ovat.
    Školím Ansible
    3.8.2007 15:35 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    fast_cgi môže navyše bežať aj na inom (a nie len jednom) stroji. setuid CGI však nemá výhody fastcgi. Btw, fast_cgi je podľa popisu v tomto blogu "aplikačný server".
    Vašek Lorenc avatar 3.8.2007 17:36 Vašek Lorenc | skóre: 27
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Jak už tu psali jiní, ono to není jen o tom setuid(). Já s tím například urychlil běh jednoho pythonovského webového wiki+blog projektu, který veškeré HTTP požadavky tlačil přes sebe.. v původním CGI prostředí to bylo naprosto nepoužitelné (zvlášť na naší studentské aise, které spuštění jednoho python procesu trvá skoro vteřinu). FastCGI sice vyžadovalo drobné úsilí na přepsání, ale od té doby mi stránky jedou alespoň trochu použitelně..

    Paralelní požadavky to zpracovávat umí (záleží na tom, jak je napsaný ten pythonovský program), navíc (opět už někde zmíněno níže) to není závislé na Apachi.

    Ale fakt se mi to shrnutí líbilo.. Ještě pár příspěvků, uděláš novou revizi.. a bude z toho pěkné mini-howto :)
    ...včetně majestátného loosa
    Věroš avatar 3.8.2007 17:43 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Fajn, a kdo zpracuje tu sekci o FastCGI a kdo se zmíní o WSGI? K tomu jsem se naživo taky nedostal.
    Školím Ansible
    3.8.2007 15:41 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    FCGI slepa vetev? To snad ne... Nepouzivam nic jineho...

    Treba kdyz clovek nechce pouzivat apache, je mod_python ze hry. CGI je prilis pomale/hloupe (pokazde init, nedrzi stav, ...). Takze pro mne z toho vychazi FCGI jako vitez. ;-)

    ...pravda, apl. servery jsem jeste neprozkoumaval, ale na druhou stranu mi reseni webserver+fcgi vzdy stacilo...
    Věroš avatar 3.8.2007 16:20 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Beru zpátky tvrzení, že FastCGI je slepá větev. Nezkoušel jsem ho osobně, jen jsem letmo četl návod (já vím, tak to dopadá, když člověk píše o něčem, co nemá osahané).

    Umí FastCGI obsluhovat více paralelních požadavků?
    Školím Ansible
    3.8.2007 17:04 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    FastCGI je protokol. Tudíž tvoje otázka je podobná otázce, zda HTTP umí obsluhovat více paralelních požadavků. Mrkni třeba na flup.
    Math, as Barbie says, is hard.
    andree avatar 3.8.2007 17:04 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    vzhladom na to, ze napr. aj lighttpd pouziva fastcgi (napr. aj pre php), a je pritom rychlejsi/menej-nenazrany ako apache (jedno z googleovanych porovnani), tak asi fakt nebude az tak dead... a kedze sa to pouziva na to php, tak to asi snad bude zvladat aj paralelne poziadavky (ale to len tipujem, dokaz v ruke nemam, netestoval som to) :)
    3.8.2007 17:42 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    fastcgi je sekvenčné. paralelizmus (http požiadaviek) sa rieši viacnásobným spustením daemona a tým, že o http réžiu sa stará iný proces (a teda miesto čakania na pomalého klienta sa môže venovať ďaľšej úlohe).
    andree avatar 3.8.2007 18:27 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    myslel som si :)
    Věroš avatar 5.8.2007 01:52 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    V tom případě ale u FastCGI ztrácíme výhodu jednoduché synchronizace dat pro více požadavků, ne?

    Zkusím popsat situaci, kterou mám a rád bych se zeptal, jak se řeší s FastCGI?
    u portálu s větší návštěvností (pěkně to popsané v starším Leošově článku) je výhodné držet si v cache věci, které jsem už načetl z databáze - ušetřím tím čas, který normálně strávím balením řádků z databáze (např.článků) do objektů. Do objektů je balím proto, že se s nimi potom dobře pracuje - třeba v šablonovacím systému. Při případné změně řádku v DB (editace článku) potom elegantně vysypu tu část cache, která je dotčená a běžím dál.
    Chápu, že pokud mám aplikaci v jednom procesu, který se dělí na více vláken, můžu cache jednoduše vysypat na jednom místě.

    Oproti tomu, pokud mám více procesů, musím všem procesům dát na vědomí, že se vysypat cache, což je velmi netriviální na implementaci (blbě se to programuje, blbě se to ladí, nevím kolik těch procesů je a tak).

    Více paralelních požadavků potřebuju, protože od určité návštěvnosti už jedna fronta požadavky obsluhovat stíhat nebude.

    ---

    Uvítám i myšlenky na efektivnější řešení :-)

    Memcached jsem zkoumal, ale nevěřím tomu, že picklovat a unpicklovat složité Pythonové objekty bude stejně rychlé jako držet je v paměti.

    Vím, že od další určité hranice stejně budu potřebovat stejně více procesů - GIL je docela potvora, a synchronizaci mezi více procesy, ne-li počítači se nevyhnu. (POSH je zajímavá věc a nakonec i ten memcached pro synchronizaci mezi více počítači jsem ochoten vzít na milost).
    Školím Ansible
    5.8.2007 06:47 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Chápu, že pokud mám aplikaci v jednom procesu, který se dělí na více vláken, můžu cache jednoduše vysypat na jednom místě.

    Oproti tomu, pokud mám více procesů, musím všem procesům dát na vědomí, že se vysypat cache, což je velmi netriviální na implementaci (blbě se to programuje, blbě se to ladí, nevím kolik těch procesů je a tak).
    Opravdu si myslíš, že vysypat cache sdílenou více vlákny je bez synchronizace košér? To je ovšem velmi naivní představa.
    Více paralelních požadavků potřebuju, protože od určité návštěvnosti už jedna fronta požadavky obsluhovat stíhat nebude.
    Jedná blokující fronta ti nebude stačit velmi brzy.

    Od určité návštěvnosti budeš potřebovat více web serverů. Vertikálně škálovat nelze donekonečna.
    Memcached jsem zkoumal, ale nevěřím tomu, že picklovat a unpicklovat složité Pythonové objekty bude stejně rychlé jako držet je v paměti.
    Memcached určitě nebude nic picklovat. To bude dělat Python a pokud myslíš, že pomalu, pak zkus jiný jazyk, nebo ukládej objekty jiným (lepším) způsobem;-).
    Math, as Barbie says, is hard.
    Věroš avatar 5.8.2007 10:42 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Už se asi se bavíme každý o něčem jiném. Mě by zajímalo hlavně jak (lehce) se řeší ve FastCGI věci se sdílením dat mezi více procesy.
    Opravdu si myslíš, že vysypat cache sdílenou více vlákny je bez synchronizace košér? To je ovšem velmi naivní představa.
    Když cache má GET, PUT i FLUSH implementované atomicky, tak by neměl být problém. Pletu se? Oproti tomu udělat synchronizaci v cache mezi více procesy je IMHO řádově složitější. Memcached by to teoreticky řešil.
    Memcached určitě nebude nic picklovat. To bude dělat Python a pokud myslíš, že pomalu, pak zkus jiný jazyk, nebo ukládej objekty jiným (lepším) způsobem.
    Picklovat bude Python, ale nedokážu si představit, jestli režie picklování nebude větší než natahování z databáze. Objekty, které teď držím v cache jsou poměrně složité. Jediný způsob, jak to zjistit je to vyzkoušet. (zkusím a napíšu). Jestli existuje něco pohodlnějšího, tak se rád nechám poučit.

    Nenašel jsem zatím jazyk, který by mně osobně vyhovoval více než Python. A že jsem se snažil. (no flame please :-) ).
    Od určité návštěvnosti budeš potřebovat více web serverů. Vertikálně škálovat nelze donekonečna.
    Že časem budu potřebovat víc webserverů je mi už teď naprosto jasný, zatím naštěstí mám dost času, myslím, že ještě rok mi ještě bude stačit posilovat hardware :-)
    Školím Ansible
    5.8.2007 11:38 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Ty totiž pleteš dohromady FastCGI a memcached. Tedy co se memcached týče - skutečně se chová atomicky, jak popisuješ a problém bys neměl. K (de)serializaci objektů - nedovedu si představit, že bys cachoval a serializoval něco, co bude rychlejší načíst z databáze.

    Nejdříve začni pracovat, vypusť první verzi mezi lidi, počkej měsíc, dva, tři a pak stejně zjistíš, že potřebuješ řešit úplně jiné problémy, než sis myslel a mohl jsi tak mít aplikaci funkční o pár týdnů dříve. Pokud tedy smím vycházet z toho, že jeden server (časem maximálně oddělení DB) a optimalizace ti pár měsíců vystačí.
    Math, as Barbie says, is hard.
    6.8.2007 08:29 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    FastCGI to nerieši, necháva to na aplikácii. Jednoduchý dôvod: neexistuje univerzálne riešenie (to si len pár OOP-istov vysnívalo).

    IMHO, lepšie ako zdielaná cache je prekopanie aplikácie, človek sa môže dostať do situácie, keď mu na CRUD jednotlivých entít bude postačovať jeden subdaemon a výsledok bude skladať druhým(tretím, ..) stupňom.

    Jardík avatar 4.8.2007 14:03 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Nejlepší je si web napsat v C, to pak nepotřebujete žádný interpret :-)
    Věřím v jednoho Boha.
    4.8.2007 15:07 noname265 | skóre: 5 | blog: Legion_of_arch
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Nejlepší je napsat si web v Assembleru...pak na to nepotřebuješ ani GCC nebo jiný překladač ;)
    nothing
    Luboš Doležel (Doli) avatar 4.8.2007 15:08 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    No, pokud to neplánuju psát přímo v hexeditoru, tak asi přece jen nějaký překladač potřeba bude.
    4.8.2007 20:01 noname265 | skóre: 5 | blog: Legion_of_arch
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    ja bych to psal primo v binarnim kodu
    nothing
    Věroš avatar 4.8.2007 15:31 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Ne, přátelé - jste úplně mimo. Nejlepší je nemít web. Vím o čem mluvím, jeden web mám, a furt chodí mi tam lidi.

    Zkuste se prosím držet tématu, předem děkuju. :-)
    Školím Ansible
    4.8.2007 15:52 David Jaša | skóre: 44 | blog: Dejvův blog
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Počkejte, počkejte, pomalu. Na takový návaly nejsme zařízený.

    Počkejte prosím, až si stránku prohlédne předchozí návštěvník.
    :-D
    6.8.2007 19:44 botanicus | blog: Botanicusovi povzdechy | Prachatice
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Nejlepsi je napsat tu informaci na papir, ten je vzdycky kompatibilni, nepotrebuje ani gcc natoz interpret ;)
    ... mam chut na jablicka ;)
    Daniel Kvasnička ml. avatar 4.8.2007 19:24 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    No u mod_pythonu bych se vic rozepsal o moznosti a principu psani vlastniho handleru. Je to precijen to nejzajimavejsi, co mod_python nabizi :-) Ale jinak hezky.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    5.8.2007 12:52 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Pouzival som roky Zope, no nie len koli dost narocnej sprave, ale i koli narocnosti na pamat som ho nahradil inym riesenim. Chcem sa opytat ako je na tom Webware for Python s obsadenim pamate a vytazenim CPU? Hlavne ide o tu pamat.

    Mne stale vrta hlavou RoR, len keby bol cas to poriadne skusit :(. Ma niekto skusenost ako je to u RoR s pamatou.


    Vdaka.
    Věroš avatar 5.8.2007 13:15 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    W4PY je úplně řešení úplně jiného problému než Zope. Jediné, co mají společné je že jsou v Pythonu a že jsou i pro web.

    Ve srovnání s Djangem, TurboGears či RoR je W4PY poměrně low-level řešení - což má svoje nevýhody (některou práci člověk musí udělat sám), ale i výhody (nes..e se mi pod ruce nějaký toolkit a nemusím obcházet jeho způsob myšlení; vím, co jsem naprogramoval).

    W4PY je v podstatě tupý servlet container (cca odpovídá Tomcatu). Já ho používám proto, že když jsem začínal na webu, moc podobných nástrojů k dispozici nebylo.

    Django osobně neznám. Čekal bych, že pro malé aplikace bude výhodnější Django (rychlejší počáteční vývoj), a před naprogramováním velké aplikace si člověk udělá analýzu, co vlastně potřebuje za prostředí a podle toho si vybere.

    W4PY a zabraná paměť: mám aplikace, které sežerou 10MB a mám jednu, která sežere 200MB - co si člověk naprogramuje, to má. Teď zrovna má 120MB a v paměti mám se drží asi 3500 objektů + dalších 400 jednoduchých struktur (většinou n-tice o několika jednoduchých).
    Školím Ansible
    8.8.2007 09:52 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: Jak na web v Pythonu
    Diky Věroši :).

    Pev

    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.