abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 5
    včera 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 33
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    25.4. 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (74%)
     (9%)
     (2%)
     (16%)
    Celkem 806 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    5.3.2013 10:41 Lyco
    Rozbalit Rozbalit vše Re: MyISAM vs. InnoDB
    TL;DR: vykašli se na MyISAM a používej InnoDB.

    Podrobněji: Nenapsal jsi, co přesně na tom chceš provozovat, a jak vypadá zátěž. Píšeš že poměr selectů a insertů je 30:70, to je nějaké divné - skutečně máš dvakrát víc insertů než selectů? Dále nevíme, jestli ti v databázi běhají nějaké dlouhodobější dotazy - generování nějakých reportů, dávkové importy a podobně. Taky by se hodilo vědět něco o struktuře databáze - jsou tabulky normalizované a děláš tím pádem hodně JOINů, nebo je všechno denormalizované? Jsou nějaká data používanější než jiná? Kolik jich je? Jak je databáze velká? (Vejde se do paměti? Vejdou se tam aspoň "horká" data?) Opakují se dotazy, nebo je každý select unikát? Provozuješ na serveru kromě databáze ještě něco, jako třeba webserver? Pokud ano, kolik je statických dat? Kolik máš najednou běžících dotazů (pokud ti tam opravdu běží v jednu chvíli 300 dotazů, tak máš vážný problém).

    Než se pustím do nějakého většího rozboru: vykašli se na fakeraid. Pokud nemáš HW řadič, tak použij mdraid. Fakeraid spojuje nevýhody obojího a nepřináší žádný prospěch. RAID 10 je dobrá volba, pokud potřebuješ výkon.

    Budu předpokládat následující věci (pokud něco z toho neplatí, pak nemusí platit moje závěry): Databáze je na samostatném serveru. Databázi používá webserver, který si dělá connection pooling. Většina otevřených spojení nic nedělá, v jednu chvíli se vykonává 5 - 20 dotazů. Na serveru se provádí dlouho trvající dotazy, ale jen v noci. Není potřeba je optimalizovat víc než aby kvůli nim server nepadal. V tuhle chvíli server nepadá, takže je můžeme ignorovat. Data se nevejdou do RAM, ale vejdou se tam často používaná data, takže na disk se při běžném provozu sahá jen občas, a jen v jednom nebo dvou vláknech. Databáze je z větší části normalizovaná, řekněme druhá normální forma. Běžné dotazy sahají na jednu až tři tabulky. Na všech sloupcích podle kterých se joinuje jsou indexy. Poměr selectů:zápisů je 30:70, selecty se obvykle příliš neopakují. Z tabulek, do kterých se zapisuje, se taky čte. (Tzn. nemáš "write only" tabulku.) Předpokládám, že umíš optimalizovat dotazy. Tzn. neřeším kam dát jaké indexy, jak a kdy se vyhnout sekvenčním čtením tabulek a podobně.

    Protože se ti dotazy moc neopakují, je zbytečné používat query cache, jenom přidává další (globální) zámky. Zkus ji vypnout.

    MyISAM je rychlý jen při splnění následující podmínky: do databáze se nezapisuje. Jakmile se začnou střídat čtení a zápisy (na vytíženém serveru stačí klidně 5 % zápisů), výkon prudce klesá, protože se zamykají celé tabulky. Vzhledem k tomu, že ty zapisuješ často, je MyISAM nesmysl. Používej InnoDB, začni pracovat s transakcemi a pokud můžeš, nepoužívej SERIALIZABLE (opět kvůli zamykání). Přechod na InnoDB je nejzásadnější optimalizace.

    InnoDB používá vlastní cache. Nastav si innodb_buffer_pool_size na cca 40 - 50 % dostupné RAM. Taky nezapomeň na key_buffer, cca 10 - 20 % RAM. Zbytek nech volný pro souborovou cache operačního systému. Experimentuj. Tohle je druhá nejdůležitější optimalizace.

    Pokud potřebuješ výkon a jsi ochotný riskovat malou ztrátu dat, nastav innodb_flush_log_at_trx_commit = 2. Nepoužívej = 0. Tohle je třetí nejdůležitější optimalizace.

    Používej EXPLAIN. Používej slow log. Používej pt-query-digest (v Debianu je ještě jako mk-query-digest). Používej indexy na více sloupcích. RTFM.

    InnoDB tabulky jsou vlastně indexy, které obsahují kromě primárního klíče i zbytek řádku (tomuhle uspořádání se říká cluster index). Všechny ostatní indexy obsahují indexované sloupce a hodnotu primárního klíče. Pokud v tabulce primární klíč není, InnoDB vytvoří skrytý sloupec a bere ten, ale tenhle sloupec je poměrně velký (6 byte). Aby byly indexy co nejrychlejší, měly by být taky co nejmenší (pak se jich vejde víc do paměti a rychleji se čtou z disku). Proto potřebuješ na každé tabulce primární klíč, a potřebuješ ho co nejkratší (ideálně INTEGER). Pozor, změna primárního klíče znamená, že se musí tabulka postavit úplně znova.

    InnoDB je optimalizované na režim, kdy jsou data všech tabulek v jednom souboru. Bohužel, InnoDB neumí svoje datové soubory zmenšovat (se zvětšováním nemá problém). Nech si dost místa na disku. Dávej si pozor, abys do databáze nenasypal spoustu data která pak budeš mazat - místo by se neuvolnilo.

    Pokud potřebuješ fulltext, vykašli se na MySQL. Použij třeba elasticsearch nebo sphinx. MySQL má fulltext který je pomalý, nic neumí a nedá se konfigurovat.

    Vyhni se počítání řádků (count(*)). Protože je InnoDB transakční, musí přečíst každý řádek jen aby vědělo, jestli ho transakce vidí. Pokud ti stačí přibližná data, vezmi je z information_schema. Pokud potřebuješ přesná, omez důkladně počet řádků které se musí přečíst (tzn. musíš tam mít index).

    InnoDB nemá stabilní statistiky jako MyISAM, místo toho dělá random dives (http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html#idp100219904). Výsledky EXPLAINu se můžou měnit samy od sebe. Pouštěj EXPLAIN víckrát a dělej mezi tím ANALYZE TABLE.

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.