Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
FlappyFavi, hra Flappy Bird v ikoně Favicon. Nefunguje na mobilech.
Byly vyhlášeny výsledky (YouTube) 28. ročníku D.I.C.E. (Design, Innovate, Communicate, Entertain) Awards: Hrou roku 2024 je Astro Bot.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Vývojáři openSUSE Tumbleweed oznámili, že u nových instalací se ve výchozím stavu přechází z AppArmor na SELinux. Uživatelé, kteří chtějí zůstat na AppArmor si mohou AppArmor vybrat v instalátoru.
Hector "marcan" Martin skončil jako vedoucí projektu Asahi Linux aneb Linux na Apple Siliconu. Projekt ale pokračuje dál.
PostgreSQL byl vydán ve verzích 17.3, 16.7, 15.11, 14.16 a 13.19. Řešena je zranitelnost CVE-2025-1094 s CVSS 8.1 a více než 70 chyb.
Dnes je Světový den rádia. Použili jste někdy GNU Radio?
Před 33 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
Byla vydána nová verze 9.10 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Chystáme sa nasadzovať nový databázový server PostgreSQL (v14.2) a potreboval som pre neho vybrať súborový systém.
Server dorazil minulý týždeň a po prvotnej inštalácii som začal premýšľať, akým spôsobom súborové systémy vlastne otestovať. Prístup z predošlého článku nevyhovoval, pretože v prípade databázy ide o úplne inú záťaž než file storage. Výsledky dnešného testu túto obavu v plnej miere podporili, ale nepredbiehajme.
Testoval som takto: nad SW RAID1 z linuxového jadra som najprv vytvoril súborový systém. Ten som pripojil (mount
) do adresára /var/lib/postgres
a nechal balíčkovací systém (gentoo portage) nakonfigurovať balíček dev-db/postgresql
. Všetky parametre som nechal na východzích hodnotách, s týmito výnimkami:
Takto inicializovanú databázu som spustil a následne do nej importoval zálohu našich interných dát, aby som odmeral rýchlosť importu, až budem server migrovať. Týmto som dostal údaj o počte sekúnd, kde nižšie číslo predstavuje lepší výsledok.
Potom prišiel na rad pgbench
. V prvej fáze som meral rýchlosť inicializácie s faktorom 10000 (tzn. miliarda riadkov v tabuľke pgbench_accounts
). Výsledkom je opäť číslo, počet sekúnd, kde nižšie je lepšie.
pgbench -i pgbench -s 10000 -U postgres
Nakoniec som spustil pgbench s tridsiatimi dvoma klientami po dobu dvoch minút a meral jednak výkon v TPS (Transactions per second, vyššie číslo je lepší výsledok) a priemernú latenciu v milisekundách (nižšia je lepšia).
pgbench -c 32 -j 32 -n -T 120 -r pgbench -U postgres
Tentoraz nie je potrebné jednotlivým testom dávať váhy, pretože výsledok je beztak očividný. Ako predtým, najlepší a najhorší výsledok majú svoju farbu, výsledky medzi tým sú rozdelené na tie, ktoré sú lepšie než medián a tie, ktoré sú horšie.
Tentoraz sa nebudem snažiť komentovať všetko, napíšem len to, čo určite stojí za zmienku.
Súborový systém, ktorý som minule chcel hodiť do koša, tentoraz spravil suverénny comeback. Xfs si viedol vo všetkých týchto testoch najlepšie, i keď niekde len marginálne. Pre PostgreSQL 14 sa xfs javí ako ideálny súborový systém.
Naopak, šampión z minula úplne prepadol. PostgreSQL implementuje vlastný copy-on-write, takže keď sa skĺbi so súborovým systémom, ktorý tiež má copy-on-write, výsledkom je copy-on-write na druhú, so všetkými negatívami takejto dupľovanej operácie. Tu sa ukazuje, aké dôležité je poznať svoju záťaž a zohľadniť ju pri výbere súborového systému.
Update z dňa 6.7.2022: v diskusii som bol upozornený, že existuje atribút chattr +C
, ktorý potláča copy-on-write. Tento parameter na testy importu a inicializácie pgbench
nemal príliš vplyv, ale TPS a priemernú latenciu dokázal oproti východzím hodnotám podstatne zlepšiť. Napriek tomu, btrfs pre účely PostgreSQL 14 zostáva aj s "nocow" výkonnostne v tej horšej polovici súborových systémov.
Logovací súborový systém Nilfs2, ktorý minule naznačoval určitý prísľub, nezvládol opakované prepisy. Časté zmeny, ktoré si databázová záťaž vyžaduje, čoskoro zaplnili celý disk a nilfs2 v jednom momente jednoducho nechal databázu spadnúť s tým, že požadovaný zápis už nevykoná. Bol schopný dokončiť aspoň úvodný import, ale aj v tom bol významne pomalší než všetky ostatné súborové systémy. Očakávam, že ak by bol schopný tento test dokončiť, bol by v ňom ešte pomalší než btrfs.
Tak ako minule, aj tento test ukázal vyváženosť a všestrannosť súborového systému ext4. Ak aj v niečom nie je najrýchlejší, väčšinou výkonom nie je od toho najlepšieho ďaleko. Nemá výrazné slabiny, nerobí mu problém databáza, ani úložisko súborov. Ak nad tým nechcete premýšľať a nebojíte sa bit rot-u, ext4 zostáva dobrou východzou voľbou.
Najbližšie pre Vás chystám test key-value databáz. Okrem tradičných DB4, gdbm, Memcached, či Redisu, sa pokúsime na účely key-value úložiska ohnúť aj SQLite, MongoDB, či MariaDB. Už teraz je zaručené, že zase niekomu stúpim na otlak.
Lenovo ThinkSystem SR630 v konfigurácii:
Čistá inštalácia Gentoo linux s týmito verziami relevantných balíčkov:
Tiskni
Sdílej:
Sorry ze kibicuju, ale podle me je ten test k nicemu. Teda takhle, je dobry pro toho, kdo provozuje defaultne nastavenou postgres databazi a dela presne to, co pgbench. Jenze ten fakt nepotrebuje resit filesystem ...
Co tim chci rict - vykonnost postgres je strasne zavisla na tom, co s nim planuju delat a jak ho nakonfiguruji. Teprve pak ma vubec smysl resit filesystem pod nim. Spravnou konfiguraci se da vykonnost (nekdy) ovlivnit i nasobne bez ohledu na to, co pod nim bezi...... tenhle test ukaze "kam az" se (jakakoliv) produkce dostane pokud tam vyvojari najednou pridaji nejaky chat ci notifikace ci logovani atd.
Sorry, tohle a i zbytek proste neni pravda. Pokud nekdo potrebuje resit postgres na produkci na urovni filesystemu (absolutni marginal gains), tak ...
Jinymi slovy uz vyresil veci, kterymi muze z postgres dostat nasobky vykonu. Pak muze zacit dumat nad filesystemem pro tech poslednich par procent vykonu v zavislosti treba na tablespace a jeho typickem pouziti (jiny pro index a jiny pro masivni zapis). A ten konkretni nejlepsi filesystem muze zrovna v obecnych testech byt horsi.
Protoze pro obecne pouziti nedava vubec smysl s necim takovym jako specialni filesystem sachovat. Tam at si vybere admin co je mu nejblizsi a bude se nejlepe spravovat. To prevazi uplne vsechny ostatni aspekty.
Chystáme sa nasadzovať nový databázový server PostgreSQL (v14.2) a potreboval som pre neho vybrať súborový systém.A tam uz plati, to co jsem napsal vyse - cely tenhle test nedava vubec smysl. Pro realne nasazeni s potrebou zdimat filesystem muze byt vsechno uplne jinak dle daneho uziti (jinymi slovy - tenhle test o nem nerika vubec nic). A pokud potreba zdimat Postgres na absolutni hranu neni, tak vubec nema smysl tohle testovat - nasadit se ma filesystem podle uplne jinych kriterii nez marginal gains Postgres/filesystem.
initdb řveZjavne nie dosť nahlas!
initdb
nepíše:
postgres@hades ~ $ initdb -D ~/14/data -E UTF8 The files belonging to this database system will be owned by user "postgres". This user must also own the server process. The database cluster will be initialized with locale "C.UTF8". The default text search configuration will be set to "english". Data page checksums are disabled. creating directory /var/lib/postgresql/14/data ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... Europe/Prague creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok initdb: warning: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: pg_ctl -D /var/lib/postgresql/14/data -l logfile start
offtopic ale mam takovej filozofickej dotaz kdyz mate cisty kernel jak na tom neco zkompilujete? nemate cc, gcc a podobne a nemuzete je nainstalovat protoze nemate to udelatko. Neni to paradox vejce slepice?Bootstrapping
# pre 2x SAS SSD effective_io_concurrency = 4 random_page_cost = 1 # pre 128GB RAM effective_cache_size = 64GB shared_buffers = 32GBZmeny ostatných parametrov (work_mem, maintenance_work_mem, ...), prinajmenšom v týchto testoch, výkon skôr zhoršovali. S touto kombináciou som dosiahol zrýchlenie okolo 4% pri importe a pgbench init a 16% v TPS a avg. latency. Rozhodne som výberom správneho súborového systému získal viac výkonu, než ladením parametrov. To ukazuje, že východzie hodnoty sú nastavené veľmi dobre.
maintenance_work_mem
vplyv, ale vďaka Vašej odpovedi konečne aspoň tuším prečo.
Idem z pgfouine povyťahovať nejaké najobludnejšie dotazy z reálnej prevádzky a prehnať ich cez rôzne nastavenia. Bohužiaľ, čas sa mi kráti a čoskoro to potrebujem dať do produkcie.
Sorry, ale tady delas velkou chybu na ktere se da krasne demonstrovat proc je tvuj test k nicemu. Totiz tvoje nastaveni je pro produkci nejspise uplne spatne a s nejvetsi pravdepodobnosti jsi timhle vykon produkce ZHORSIL. Ty sis to maximalne vyladil pro tvuj synteticky test, ktery ale na 99% neodpovida tomu co potrebujes. Takze se chytas nejake chimery "pevneho bodu", ktera ti nejenom nic nerekla o realnem stavu, ale jeste navic te poslala na uplne zcesti...
Jeste jinak - pokud jsi vyvojar pgbench, a db bude provadet izolovane jeden pgbench, tak jsi to nastavil skoro spravne.Abych jen nekibicoval - pokud o postgres nevis nic, vygeneruj si nastaveni tady https://pgtune.leopard.in.ua Vetsinou to dava dobre vysledky, se kterymi se da zacit.
https://pgtune.leopard.in.uaEhm... total memory - must be less or equal to 9999.
Jako zes chtel poradit jak defaultne nastavit svuj stroj s cca 10 tb ram a ono to selhalo?:) Myslim/doufam ze clovek s pristupem k takovemu stroji uz trochu vi co dela a proc a jak nakonfigurovane na nem ma bezet Postgres:)
Myslim/doufam ze clovek s pristupem k takovemu strojiPro vás je stroj s více než 10GB RAM "takový stroj"?
log_min_duration_statement = 10 log_min_duration_sample = 0 log_statement_sample_rate = 0.01
huge_pages = try
, ale podľa /proc/meminfo
ich nikto nepoužíva.