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 01:44 | Nová verze

    Byla vydána nová verze 10.0 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze nové balíčky ownCloud Infinite Scale a Uptime-Kuma.

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

    Enkodér a dekodér SVT-AV1 (Scalable Video Technology for AV1) byl vydán v nové major verzi 4.0.0.

    Ladislav Hagara | Komentářů: 0
    včera 18:44 | Nová verze

    Byla vydána nová verze 3.0.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    24.1. 11:55 | Humor

    Microsoft poskytl FBI uživatelské šifrovací klíče svého nástroje BitLocker, nutné pro odemčení dat uložených na discích třech počítačů zabavených v rámci federálního vyšetřování. Tento krok je prvním známým případem, kdy Microsoft poskytl klíče BitLockeru orgánům činným v trestním řízení. BitLocker je nástroj pro šifrování celého disku, který je ve Windows defaultně zapnutý. Tato technologie by správně měla bránit komukoli kromě

    … více »
    NUKE GAZA! 🎆 | Komentářů: 32
    24.1. 01:44 | Komunita

    Spotify prostřednictvím svého FOSS fondu rozdělilo 70 000 eur mezi tři open source projekty: FFmpeg obdržel 30 000 eur, Mock Service Worker (MSW) obdržel 15 000 eur a Xiph.Org Foundation obdržela 25 000 eur.

    Ladislav Hagara | Komentářů: 3
    23.1. 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 3
    23.1. 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 9
    23.1. 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    23.1. 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    23.1. 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (5%)
     (0%)
     (10%)
     (22%)
     (3%)
     (5%)
     (2%)
     (11%)
     (34%)
    Celkem 613 hlasů
     Komentářů: 17, poslední 22.1. 15:24
    Rozcestník

    Performance tuning - TCP vs UNIX sockets

    28.5.2007 23:55 | Přečteno: 1948× | 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.