Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.
Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.
Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 4. snapshot Ubuntu 25.10 (Questing Quokka).
Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.
Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.
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.
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
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: