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í
×
    dnes 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

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

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

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

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | IT novinky

    Evropský parlament dnes přijal směrnici týkající se tzv. práva spotřebitele na opravu. Poslanci ji podpořili 584 hlasy (3 bylo proti a 14 se zdrželo hlasování). Směrnice ujasňuje povinnosti výrobců opravovat zboží a motivovat spotřebitele k tomu, aby si výrobky nechávali opravit a prodloužili tak jejich životnost.

    Ladislav Hagara | Komentářů: 2
    včera 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 6
    včera 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 17
    včera 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

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

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (10%)
     (2%)
     (17%)
    Celkem 702 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: MyISAM vs. InnoDB

    15.2.2013 11:10 basss | skóre: 2
    MyISAM vs. InnoDB
    Přečteno: 8661×
    Příloha:
    Dobrý den

    Nenašly by se dobrovolníci ktere by sem napsaly puzivám MyISAM nebo InnoDB a konfiguracni soubor a spokojenost a vyuziti v praxi . (pokud možvno severy s vetsim zatizenim)

    Stale ladim sve servery a tunnig prime a mysqltuner me uz prijdou informativni neni neco co by poradilo vic do hloubky.

    Zatím používám MyISAM na severu 36GB RAM, 2xXEON CPU 16jader , Fake RAID 10 na HDD 7200 otacek. Server je jen pro DB Mysql 5.5.28 a prubezne aktualizuju

    Stale je připojeno asi 300 uzivatelu Nic složiteho select insert 30/70% Snaha je o co nejrychlejsi odpovedi

    Možna už jsem zblbej jak to ladim tak bych se rad poucil jak to maji jini Předem děkuju.

    Odpovědi

    15.2.2013 12:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: MyISAM vs. InnoDB
    Nejsem žena (ani dobrovolník), ale přesto píšu sem:
    „puzivám MyISAM nebo InnoDB a konfiguracni soubor a spokojenost a vyuziti v praxi . (pokud možvno severy s vetsim zatizenim) “
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    19.2.2013 18:31 azurIt | skóre: 34 | blog: zatial_bez_mena
    Rozbalit Rozbalit vše Re: MyISAM vs. InnoDB
    Ak nepotrebujes full text indexy, tak to skonvertuj na InnoDB.
    26.2.2013 23:32 VM
    Rozbalit Rozbalit vše Re: MyISAM vs. InnoDB
    MyISAM je rychlé, umí fulltext indexy a rychle počítá počty řádek v tabulkách, ale neumí cizí klíče a transakce. InnoDB umí constrainty s cizími klíči a transakce, ale neumí pořádně spočítat počet řádek v tabulce, je o něco pomalejší, a pokud člověk nechce všechny tabulky v jednom souboru, tak se musí upravit konfigurák. Před pár lety jsme přešli z MyISAM na InnoDB, a zatím nelitujeme - přínosy jsou větší než ztráty.
    27.2.2013 08:56 karel
    Rozbalit Rozbalit vše Re: MyISAM vs. InnoDB
    Ahoj, take sem resil podobny problem s tim abych ze serveru vymackal co se da, nakonec nejvetsi zrychleni prinesl prechod z mysql na mariadb.org Samozrejme zalezi na aplikaci, ale v mem pripade sem pocitil velke zrychleni.
    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.
    iwtu avatar 5.3.2013 20:26 iwtu | skóre: 7 | blog: Personal Wiki
    Rozbalit Rozbalit vše Re: MyISAM vs. InnoDB
    Zdravim. Vas prehlad o databazach mi pride super. Nevenujem sa im vobec, beriem ich ako nutne zlo, ale k vedomostiam, o ktorych hovorite, teda ako skutocne narabat s databazou efektivne... som sa nikde nedostal.

    Prosim, nemate o nich niekde blog? Bolo by to pre prehlad nesmierne uzitocne. Dakujem za pripadnu odpoved.

    Ja by som uz dnes zvolil MariaDB alebo PostgreSQL, ak sa bavime o relacnych databazach.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.