GNU/Linux >> Znalost Linux >  >> Linux

MySQL – ladění a optimalizace výkonu

Přehled

MySQL je vysoce univerzální a vysoce výkonný systém pro správu relačních databází, který používá mnoho webových balíčků, jako jsou WordPress, Joomla a Magento. Zatímco výchozí konfigurace nabízí přiměřený výkon, vždy existují způsoby, jak zajistit, abyste ze své databáze získali tu nejlepší možnou rychlost.

Jako poskytovatel hostingu jsme neustále žádáni o „rychlejší“ server nebo více zdrojů, zatímco v mnoha případech to problém nepomůže. Prvním krokem by vždy měla být lepší optimalizace a vyladění výkonu vašeho stávajícího nastavení.

Tyto pokyny jsou určeny pouze pro vyhrazené nebo virtuální soukromé servery (VPS). Pokud máte sdílený hosting a potřebujete lepší výkon databáze, promluvte si s týmem Conetix o migraci na VPS.

Pokyny

Upozornění! Před provedením jakýchkoli změn se ujistěte, že byla vaše databáze zálohována.

Jedním z nejjednodušších nástrojů pro diagnostiku problémů je MySQLTuner. Toto je skript založený na Perlu, který bude analyzovat aktuální výkon vaší databázové služby.

Nejlepší je spustit tento nástroj několik hodin po použití databáze, nikoli až po restartu.

  1. Stáhněte si skript MySQLTuner:

    wget https://raw.github.com/major/MySQLTuner-perl/master/mysqltuner.pl
  2. Přidat oprávnění ke spuštění:

    chmod +x mysqltuner.pl
  3. Poté spusťte skript: 

    ./mysqltuner.pl

Upozornění! I když vám MySQLTuner skvěle poskytne počáteční představu o tom, jaká nastavení změnit, pochopte prosím co  měníte před úpravou konfigurací. Některé změny mohou bez řádné péče a pozornosti vést ke snížení výkonu a v nejhorším případě ke ztrátě dat.

Zde je několik základních rad:

  • Podívejte se na alokaci paměti InnoDB (innodb_buffer_pool_size), abyste se ujistili, že je MySQL přiděleno dostatek paměti.
  • Vyhledejte upozornění na spojení provedená bez indexů. Ty mají potenciál být velmi pomalé, zvláště pokud máte velké množství řádků.
  • Vyhledejte fragmentované tabulky.
  • Použijte příkaz EXPLAIN v MySQL k určení problémů s výkonem vašich dotazů.

Existuje mnoho dalších možných tipů, vylepšení a vylepšení, použijte návrhy z MySQLTuner, které vám pomohou nasměrovat vás správným směrem, a proveďte několik vyhledávání na Googlu ohledně tohoto problému. Pokud jste zákazníkem Conetix, můžete si přihlásit lístek podpory a my vám zcela zdarma provedeme základní analýzu.

Další čtení

  • Ladění výkonu InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-tuning.html
  • 10 nejlepších tipů pro výkon podle Oracle: https://wikis.oracle.com/pages/viewpage.action?pageId=27263381
  • Jak indexovat spojení s MySQL:hackmysql.com/case4
  • Vysvětlení MySQL EXPLAIN: http://www.slideshare.net/phpcodemonkey/mysql-explain-explained

Linux
  1. Jak nastavit LogAnalyzer s Rsyslog a MySQL

  2. Vytvořte novou databázi a použijte ji v MySQL/MariaDB

  3. Stav a závislosti služby Solaris?

  1. Top 8 tipů a triků příkazového řádku MySQL

  2. Vytvořte nového uživatele a udělte oprávnění v MySQL

  3. Vytvářejte a upravujte uživatele v MySQL

  1. Jak vyvažuji funkce a výkon v mém linuxovém terminálu

  2. Tipy pro ladění a optimalizaci výkonu MySQL

  3. Základy uživatele a databáze MySQL