TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 6.0. Příští verze 7.0 je kvůli výkonu přepisována do programovacího jazyka Go.
Christian Schaller z Red Hatu na svém blogu popsal své zkušenosti s používáním AI při vývoji open source aplikací pro Linux. Pomocí různých AI aktualizoval nebo vytvořil aplikace Elgato Light GNOME Shell extension, Dell Ultrasharp Webcam 4K, Red Hat Planet, WMDock, XMMS resuscitated (aktualizace z GTK 2 a Esound na GTK 4, GStreamer a PipeWire) a Monkey Bubble. SANE ovladač pro skener Plustek OpticFilm 8200i se mu zatím nepovedl.
Americké firmy Tesla a SpaceX postaví v texaském Austinu moderní komplex na výrobu čipů pro umělou inteligenci (AI). Součástí projektu s názvem Terafab budou dvě moderní továrny na výrobu čipů – jedna se zaměří na automobily a humanoidní roboty, druhá na datová centra ve vesmíru. Uvedl to generální ředitel těchto firem Elon Musk. Projekt by podle odhadů měl stát 20 miliard USD (zhruba 425 miliard Kč).
Byla vydána nová stabilní verze 6.11 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo
… více »Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:
… více »Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 163 (pdf).
Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního
… více »Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.
Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.
Našel by se tu někdo, kdo provozuje linuxový raid a na něm mu běží MySQL nebo PostgreSQL? Až do nedávna jsme na serverech používali výhradně hw raidy. Nicméně v honbě za výkonem a nižšími náklady jsem vyzkoušel na několika strojích sw raid (zejména RAID100 a RAID10), ale narazil jsem na problémy....
Při větším počtu insertů/transakcí v PostgreSQL jde výkon naprosto do kytek. Zde uvádím, co se mi podařilo naměřit nástrojem pgbench s defaultními parametry:
HW RAID1 (2x SATA 7k2, seq write 113MB/s, ext4) 466/560tps [473/571] HW RAID0 (4x SAS 15k, seq write 320MB/s, ext4) 498/595tps [530/671] SW RAID1 (4x SATA 7k2, seq write 146MB/s, ext3) 14/14tps [597/712] SW RAID100 (8x SATA 7k2, seq write 580MB/s, ext4) 21/21tps [1022/1291]
Hodnoty v hranatých závorkách jsou naměřené při nastaveném
fsync=offv konfiguraci Postgre.
Moje teorie je taková, že v případě sw RAIDu při syncu kernel čeká až se data skutečně na disk zapíší. U hw RAIDu dojde u menšího objemu dat pouze k zapsání do cache řadiče, ale pro kernel už se data tváří jako zapsaná. Zde se musí jasně projevit, že disky těch několik set I/O za sekundu opravdu nedají.
Ovšem pokud fsync vypnutý stejně v některých případech nedosáhnu takového výkonu jako na hw raidu - např. obnova SQL dumpu trvá na hw raidu 7minut, na sw stále okolo 8 hodin i s vypnutým fsyncem!
Tentýž problém u MySQL - tam jsou inserty do db cca 4x pomalejší oproti hw raidu. V případě InnoDB tabulek je to absolutně nepoužitelné. To jsem zatím vyřešil konfiguračním parametrem
innodb_flush_log_at_trx_commit = 2
Myslíte, že existuje nějaká možnost, jak to vyladit? Velice nerad bych dodatečně nakupoval řadiče za desítky tisíc (resp. mi to nikdo nezaplatí), které mi stejně RAID100 pravděpodobně nenabídnou a to nemluvím o problémech spojených s výměnou za jiný, pokud umře.
Jsem si vědom toho, že vypnutím nuceného zápisu na disk můžu při výpadku přijít o některá data, což mám částečně ošetřeno UPS, ale zároveň věřím tomu, že i tak to ty databáze dokáží rozdejchat. V krajním případě existují zálohy...
Řešení dotazu:
To jsem netušil, že jde změnit i čekání na commit. Chápu to dobře, že pokud db zavolá sync, tak se provede commit na filesystému? Žurnál bych raději nevypínal, takovou odvahu zase nemám. Díky za podnět, schválně to vyzkouším.
Jedná se o SATAII.
Velikost RAM těch strojí se líší - ten s hw RAIDem má 8GB DDR2 ECC. Ten se sw má 24GB DDR3 ECC.
Jsem si prakticky jist, že je to způsobeno tím, že db volá po každé transakci sync a když jich udělá za vteřinu třeba 100, tak by ten disk musel prakticky 100x seekovat (v reálu to možná bude méně, netuším jak se ty zápisy plánují).
Mám. Měření diskového výkonu v závislosti na nastavení kernel scheduleru
Možná tě bude zajímat i tento článek, zde ale záhadně propadl ext4 a zatím jsem to neměl čas řešit.
Moc díky! Koukám, na tom tvém webu jsou vůbec samé zajímavé postřehy, ještě teď ho celý pečlivě pročítám.
Změna scheduleru pro mě tedy nemá příliš velký přínos, i přesto mi to nedalo a naivně jsem si myslel, že těm diskům v sw raidu postupně změním scheduler, abych to jen vyzkoušel...kernel panic. Já vím, moje blbost. Změnu nastavení žurnálu si už radši vyzkouším na nějakém nedůležitém stroji :D
Koukám, na tom tvém webu jsou vůbec samé zajímavé postřehy, ještě teď ho celý pečlivě pročítám
Díky, mám v TODO ještě pořádný test PostgreSQL 9 (snad to není předčasné) pro různé nastavení OS/FS/SW Raidu. Chystám se mu svěřit poměrně mnoho dat a vysoký výkon je pro mě hned po bezpečnosti dat klíčový. Jenže času je málo
.
a naivně jsem si myslel, že těm diskům v sw raidu postupně změním scheduler, abych to jen vyzkoušel...kernel panic. Já vím, moje blbost.
Uff, tohle se mi nikdy nestalo a to jsem si s elevátory hrál poměrně hodně.
A můžeš mi osvětlit důvod tak špatného výsledku RaiserFs v jednom z těch testů?
Mno, a co teď s tím reiserfs? 16% výkonu je tristní výsledek. Google mlčí. Možná by pomohla změna velikosti bloků na 8kB a vypnout tail. Skutečně netuším.
Google nenašel mnoho uživatelů Postgresu a zároveň Reiseru tak se nemám od čeho odpíchout. Reiser nepoužívám, možná by pomohlo vypnutí tail (to by ale na výkon DB serveru nemělo mít vliv, jelikož ten primárně mění obsah souborů a na konec příliš nepřidává (a když už tak po větších blocích).
************************************************** *RAID * ext3 * ext4 * ************************************************** SW 10 (chunksize 256kB) 18s 2,56min SW 100 (chunksize 64kB/1MB) 11s +10min HW 1 (chunksize 64kB) 3s 1,29min
Hmm.. It is hard to predict differences between vanilla tree. This is no only ext4 related. writeback path is changed dramatically. It is not easy to port writeback code to 2.6.18 with full performance improvements but without introducing new issues.Takže se radši vrátím k ext3, naštěstí jsem nestihnul na mnoha místech na ext4 přejít. Rozhodně si ale zkusím ještě s tím žurnálem pohrát na ext3.
*********************************************************** * chunksize * mount options * time * *********************************************************** 256kB data=ordered 18s 256kB data=writeback 18s 64kB data=writeback 16s 64kB data=writeback,noatime,nodiratime 16s 64kB data=journal,noatime,nodiratime 9.5sPro zajímavost uvadím rychlost obnovy 214MB dumpu v PostgreSQL:
************************************************************************ * RAID * fsync * fs * mount options * time * ************************************************************************ HW 1 on ext4 defaults 11m 36s HW 1 off ext4 defaults 7m 37s SW 100 on ext4 defaults 19h SW 100 off ext4 defaults 9h 40m SW 10 on ext3 data=writeback,noatime,nodiratime 49m 17s SW 10 on ext3 data=journal,noatime,nodiratime 26m 25s SW 10 off ext3 data=journal,noatime,nodiratime 11m 43sDokázal by mi někdo vysvětlit, jak je možné, že s data=journal je to rychlejší? Čekal bych spíše opak... Kdyby měl někdo nápad, jak z toho vyždímat ještě více, tak sem s ním. Zítra mám ještě v plánu zkusit více velikostí chunk-size na RAIDu.
. Nechceš to ještě otestovat na XFS?
mkfs.xfs -l size=128m,version=2 /dev/md1 -f mount /dev/md1 /mnt/data -o rw,noatime,nodiratime,nobarrier,biosize=16,logbufs=8,logbsize=256k
Chunksize mysql-inserts pgrestore pgbench 64k 1m 10s 188m 16s 126/130 128k 1m 15s 201m 51s 107/110 256k 96/98
To je teda na výrazně výkonnějším systému než mám já cca 5x horší výsledek (v pgbenchi).
Chunksize mysql-inserts pgrestore pgbench 4k 12s 324/348tps 8k 12s 30m25s 298/325tps 16k 10s 28m32s 376/409tps 32k 11s 27m26s 375/410tps 64k 11s 26m22s 351/386tps 128k 9s 24m16s 325/348tps 256k 10s 23m49s 401/448tps 512k 11s 26m22s 227/353tps 1M 11s 27m39s 327/353tps 2M 10s 26m37s 382/416tps 4M 10s 26m44s 346/376tps 8M 11s 26m47s 344/379tpsČímž jsem došel k závěru, že v mém případě je nejvhodnější použít 256kB bloky, ale jak vidíte příliš velké rozdíly zde nejsou. Docela by mě zajímalo, jestli by mělo smysl udělat dvě RAID1 s nějakou velikostí bloků a nad tím RAID0 s jinou velikostí. Ale už nemám příliš síly to testovat.
Tož já ti do toho vnesu ještě další chaos 
Docela by mě zajímalo, jestli by mělo smysl udělat dvě RAID1 s nějakou velikostí bloků a nad tím RAID0 s jinou velikostí.
Toto smysl nemá, protože u RAID10 v layoutu F2 je možnost číst ze všech disků současně (rychlost čtení 4x větší, lineárně s počtem disků). Jaký tam máš layout? I když pravda, tyto testy jsou skoro čistě zápisové. Jak TPC-B, tak load toho dumpu.
pgbench 557/633tps mysql 10tis. insertů do InnoDB 5.4sPřičemž na pozadí ještě probíhá synchronizace RAIDu.
Tiskni
Sdílej: