sql >> Databáze >  >> RDS >> Mysql

Výkon MySQL – 5 parametrů z konfiguračního souboru

Dříve jsem napsal blogový příspěvek o Výkonu MySQL – Slow Query a innodb_buffer_pool_size . Dostal jsem spoustu e-mailů, kde se lidé chtěli dozvědět více o těchto parametrech. Pojďme diskutovat o 5 parametrech z konfiguračního souboru, které mohou pomoci výkonu MySQL.

innodb_buffer_pool_size

V mezipaměti jsou data uložena v mezipaměti. Pokud je malý, bude váš disk využíván více. Udržujte tento velký, abyste zabránili opakovanému přesunu MySQL na disk. Typická velikost, kterou vidím u svých klientů, je od 6 do 10 GB.

max_connections

Pokud toto ponecháte dostatečně velké, můžete se snadno vyhnout příliš mnoha chybám připojení. Pokud jej však ponecháte příliš velký, než jaký váš server zvládne, začnou se znovu objevovat problémy s výkonem. Je velmi důležité, aby to bylo dostatečně velké, aby zvládlo vaši typickou pracovní zátěž, a proto byste měli přidat další zdroje. Často jsem nejprve změnil toto a později upravil zdroje pro své klienty.

query_cache_size

Každý ví, že pokud budete velikost této sady udržovat velmi nízkou nebo vysokou, bude váš výkon hrozný. Viděl jsem však mnoho lidí, kteří toto nastavení ignorovali. Obvykle začínám ladit MySQL tak, že se podívám na toto nastavení a nechám ho na 0. To znamená, že toto nastavení je zakázáno a k vyladění dotazů používám jiné metody. Obvykle dávám přednost ladění indexů před touto metodou.

innodb_flush_method

Toto nastavení řídí, jak jsou data a protokoly vyprázdněny na disk z paměti. Obvykle to nechávám O_DIRECT, abych se vyhnul dvojitému ukládání do vyrovnávací paměti. Mám zkušenost, že dvojité ukládání do vyrovnávací paměti obvykle snižuje výkon serveru.

Nastavení, která jsem zmínil výše, souvisí s výkonem MySQL a lze je změnit z konfiguračního souboru. Konfigurační soubor MySQL naleznete zde v Linuxu:/etc/mysql/my.conf

Nicméně než změníte jakákoli nastavení v produkci, důrazně doporučuji, abyste je vyzkoušeli ve svém vývojářském systému. Je docela možné, že se vaše zkušenost liší od mých zkušeností a potřebujete pro svůj server jinou hodnotu.

Pokud se vám tento blog líbil, nezapomeňte se přihlásit k odběru mého kanálu YouTube – SQL za šedesát sekund .


  1. Výkon TPC-H od PostgreSQL 8.3

  2. Uložená procedura pro získání stavu indexů ve všech databázích

  3. PostgreSQL je pomalý na velké tabulce s poli a spoustou aktualizací

  4. Preferovaný engine MySQL – MyISAM nebo InnoDB