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í
×
    včera 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    včera 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 1
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 23
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

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

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 12
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1633 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Co není v hlavě, musí být uloženo někde jinde. Než si dodělám vlastní blogovací systém, asi budu svoje krátké výkřiky psát tady.
    Věroš ,,Co na tom, že tyto znalosti a poučky před ním již dávno objevili jiní. On o tom nevěděl a proto jeho význam nemůžeme snižovat...''
    Kategorie zápisků
    Aktuální zápisy

    Performance tuning - TCP vs UNIX sockets

    28.5.2007 23:55 | Přečteno: 1968× | Externí paměť | Výběrový blog

    Pro komunikaci mezi dvěma procesy je možné (kromě opravdové IPC) použít i sockety. V 1999 jsem s údivem zjistil, že TCP spojení má řádově větší režii než unixové sockety - pokud se dobře pamatuju tak v roce 1999 byl rozdíl i 100 milisekund. Protože opět potřebuju přehazovat data mezi dvěma procesy, zkusil jsem si změřit, jak jsou na tom počítače dneska.

    S oblibou používám Webware for Python, který pro komunikaci mezi webovým serverem a aplikačním serverm používá standardně TCP socket. Nastal čas, kdy v serveru něco drhne a protože náhrada TCP socketu za UNIXový je poměrně jednoduchá, zkusil jsem si porovnat, jestli se mi investovaný čas někde vrátí a jestli vůbec nějaký čas ušetřím.

    Testovací úkoly jsou: navázat spojení na socket a poslat do něho data (1MB). Testoval jsem UNIX socket a TCP socket na 127.0.0.1

    Notebook: Mobile Pentium @ 1GHZ (dual-core)

    Stolní počítač: Pentium II, 231MHz

    Ostrý server: Pentium4 1.8Ghz

    Závěr

    U dnešních počítačů s dnešními jádry se už takovými blbostmi nemá cenu zabývat :-).

    V roce 1999 byl však rozdíl až 100ms, což už běžný uživatel na interaktivitě programu poznal. V mezičase se asi zlepšily jaderné algoritmy a také výkon procesorů.

    socket_speeds.txt - měřicí program, pro data jsem použil aritmetický průměr ze 100 měření.


    Disclaimer: Cílem nebylo přesně změřit hodnoty propustnosti/latence obou typů socketů, ale pouze zjistit, jestli nahrazením TCP socketu UNIXovým ušetřím nějaký user time. Použitá metoda je hrubě nevědecká a není ani přesná, pro orientaci mi však stačí.

    Disclaimer 2: Dočetli jste zápisek v kategorii Externí paměť. Tato kategorie slouží jako sklad pro to, co si chci někam napsat a zatím nemám kam. Pokud tady není myšlenka, je to v pořádku. :-)

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    xxx avatar 29.5.2007 00:00 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Jeste by bylo zajimave zjistit, jak to dopadne pokud tech scketu bude treb 1000. Ale musim rict, ze me prekvapilo, ze ty rozdily jsou tak male.
    Please rise for the Futurama theme song.
    29.5.2007 00:03 qiRzT | skóre: 14 | blog: U_Marvina
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Zkusím si tipnout: nemůže to souviset s tím, že při komunikaci přes UNIX sockety není třeba se zabývat ztrátami a tudíž potvrzováním, přeposíláním apod. dat? Že TCP má z principu větší režii?
    Důležité je vědět jak problém vyřešit, zbytek zvládne i cvičená opice...
    xxx avatar 29.5.2007 00:28 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    No a proto bych ocekaval, ze ty rozdily budou vetsi. Nakonec by me vlastne docela zajimalo, jak takovej loopback vypada uvnitr.
    Please rise for the Futurama theme song.
    Věroš avatar 29.5.2007 00:37 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Ty rozdíly tam jsou. Ale jenom v relativních hodnotách - v absolutních se ztratí.

    Spíš mne zaráží ta propustnost u TCP na notebooku - jako jediný má víc procesorů, takže při TCP asi jeden procesor data tlačil a druhý tahal, kdežto u UNIXového socketu ne.
    Školím Ansible
    Josef Kufner avatar 29.5.2007 00:50 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Hezké srovnání. Ale ještě by mě zajímalo, jak je na tom obyčejná roura. Odhaduju, že to bude zhruba stejné, ale i tak... nechcete to někdo testnout? ;-)
    Hello world ! Segmentation fault (core dumped)
    Luk avatar 29.5.2007 07:54 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Kdysi dávno jsem něco takového zkoušel. Na P4 2,5 GHz vycházel round-trip time (čili čas na poslání malého množství dat z jednoho procesu do druhého a zpět) okolo 50 μs bez hyperthreadingu a něco přes 40 μs s ním. Jádro asi 2.6.12.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    29.5.2007 09:02 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Vážně? To snad není možné, aby to bylo tak pomalé. Já jsem naměřil 60 μs z jednoho nodu na druhý (z počítače na druhý počítač přes 100Mbps ethernet na běžném komoditním HW) v erlangu a ten používá taky TCP. To vážně nechápu co tam dělaj za kouzla.
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    Luk avatar 29.5.2007 09:38 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Co je na tom divného? Je to z jednoho procesu do druhého a zpět, čili s dvojím přepnutím kontextu (s hyperthreadingem se to realizuje hardwarově, ale i tak...). Žádná kouzla se tam nedějí - když se zanedbá ta různá "omáčka", jedná se o pouhé kopírování z uživatelského prostoru do jádra a naopak. Jediné, co by to teoreticky mohlo brzdit, je aktualizace času přístupu k souboru (jednalo se o pojmenované roury otevřené bez O_NOATIME).
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    29.5.2007 10:40 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Uf, tak to je to přepnutí kontextu tak hrozně pomalé? Potěš koště :(
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    Luk avatar 29.5.2007 10:56 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Nevím, co znamená "hrozně pomalé". Ale rozhodně nějakou tu mikrosekundu zabere, někdy i o dost více. Kdyžtak tady jsou nějaké výsledky měření.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    29.5.2007 13:26 peter_h | blog: need4speed
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Koli (aj) takymto testom som si zalozil svoj blog a urcite to budem testovat, ale tento ani buduci mesiac este nic necakajte, potom budem mat snad viac volna.
    29.5.2007 01:33 thingie
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Neměří to náhodou skutečný čas mezi spuštěním a koncem, tohlecto? Je to úplně moudré (sice průměr a opakování měření, ale aji tak)?
    Věroš avatar 29.5.2007 01:38 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    jo - jedna chyba tam v měřicím programu je, místo done-start tam patří done-conn, ale na výsledku se skoro nic nemění.

    Je to open-source, můžeš to upravit a změnit...

    Jinak viz disclaimer.
    Školím Ansible
    29.5.2007 09:38 cynik
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Napsal jsem aplikaci, kde se prostrednictvim socketu (obou typu) tahaji obrazky. Takze jsem se nekdy kolem roku 2000-2001 zabyval jestli takovyto prenost neni moc pomaly.

    Jak si matne vzpominam, tak se ukazalo se, ze rozdil mezi unixovymi a tcp sockety neni vubec zadny a taktez zpomaleni zpusobene tim, ze se data tlaci nejakym uzkym mistem oproti prostemu prekopirovavani pametovych bloku, je nepodstatne. Uz tehdy to tlacilo na starsich pocitacich destiky MB pod vterinku, coz me stacilo, protoze vycitani ze zarizeni trvalo radove vic.

    Na samotny prenos ma spis vliv pocet preruseni, ktere je potreba udelat (cili je potreba posilat cele bloky najednou) a kvalita spojeni, jde-li to pres draty a ne jen pres loopback (to ovsem souvisi primo s poctem preruseni). Testoval jsem to pres read/write s tim, ze si velikost prectenych dat urcuji tyhle funkce samy.

    V soucasne dobe to pouzivam taky, protoze rozvzeni aplikace na server a klinety je moc sikovna vecicka, a pochopitelne je to rychlejsi, ale sockety stale nejsou ani zdaleka tou nepomalejsi veci, mnohem pomalejsi je disk nebo USB port.
    29.5.2007 10:07 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Přestože se Unix sockety nevyplatí, X nebo MySQL je stále používají. Proč?

    Myslím že u distribuovaných aplikací bude nejlepší zůstat u TCP, a v případě že oba peeři jsou na stejném node, použít sdílenou paměť. Tam by mohl být nárůst oproti TCP docela výrazný- při správně napsaných klientech by to bylo zerocopy z jednoho userspace do druhého. Přepínání procesů ale bude stejný počet, takže jestli je úzké hrdlo toto, ani sdílená paměť moc nepomůže.
    Táto, ty de byl? V práci, já debil.
    Luk avatar 29.5.2007 10:44 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Něco je např. tady. Je to sice o FreeBSD, ale základ je stejný.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    29.5.2007 11:00 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Přestože se Unix sockety nevyplatí, X nebo MySQL je stále používají. Proč?
    Příspěvek i komentáře jsou, jestli se nepletu, o Linuxu, ale MySQL nebo X běží i na jiných platformách (např. právě *BSD). Tam může být rozdíl ve výkonu znatelnější.
    Luk avatar 29.5.2007 11:57 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Jinak samozřejmě MySQL podporuje 4 metody komunikace (TCP socket, Unix socket, roura, sdílená paměť), takže si každý může vybrat to, co mu vyhovuje ;-)
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    29.5.2007 17:27 Ondrej 'SanTiago' Zajicek
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Přestože se Unix sockety nevyplatí, X nebo MySQL je stále používají. Proč?
    Me jako hlavni vyhoda UNIX socketu prijde, ze mohu pouzit unixova prava pro rizeni pristupu a nemusim se o opravneni starat v programu.
    Věroš avatar 29.5.2007 17:33 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: Performance tuning - TCP vs UNIX sockets
    Já si jen dovolím upozornit, že v blogpostu je napsáno "nevyplatí se mi portovat komunikaci z TCP socketu na UNIX socket" (v tomto konkrétním případě) a rozhodně proti UNIXovým socketům nic nemám.

    V době, když nebyly počítače tak odporně rychlé jako dnes, měly UNIXové sockety svoje využití a dodneška mají. Navíc píše Santiago - udělat spolehlivé řízení přístupu na TCP je těžší než na UNIXových socketech.
    Školím Ansible

    Založit nové vláknoNahoru

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