CyberTek - the future at the present!
Google

Optimalizace MySQL

Zaslal: admin (19. června)

Není čas si promluvit o tom, jak vytvořit tabulky optimalizován pro lepší výsledky. Pamatuji si jen, že pole indexovaný zlepšovat mnohem doby provedení. Diskuse namísto některých malý trik, aby se více výkonný, že MySQL je obvykle instalován na většině distro bez mnoha parametrů pro ladění. Info viz linuxové distro, ale mohou být snadno přizpůsobeny jiným OS.

Konfigurační soubor je obvykle umístěn v souboru / etc / my.ini.

Eempio z my.ini:

[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-proměnná = key_buffer = 64m
set-proměnná = max_user_connections = 100
set-proměnná = query_cache_size = 64m
# Implicitní k použití staré heslo formát pro kompatibilitu s MySQL 3.x
# Klienti (ty pomocí mysqlclient10 kompatibilita balíček).
old_passwords = 1

[mysql.server]
user = mysql
basedir = / var / lib

[mysqld_safe]
err-log = / var / log / mysqld.log
pid-file = / var / run / mysqld / mysqld.pid

pufry: bufferu jakéhokoli incremeto dostanete databáze mnohem rychleji. Nastavte pufry založené na velikost paměti je k dispozici, s přihlédnutím ke spotřebě, kterou operační systém a další aplikace a služby v použití. Pokud si rozdělit příliš mnoho paměti a zároveň nemají může vběhnout do celkového výkonu systému.

Wait_timeout: představuje čas, který uplyne, než bude uzavřena automaticky připojit k MySQL v důsledku nečinnosti. Nižší počet je vyšší výkon. V tomto případě musíte také hrát druh spojení a jejich údajné čas pro kalibraci nejlepší parametr.

back_log: Ovládá kolik simultánní připojení může udržet MySql a zároveň vytváří nové vlákno. Čím nižší číslo, tím vyšší rychlost. Pozor, je to snadné nebude zhoršovat funkci by tento parametr nastavit správně, použijte pouze v případě, že je naprosto nezbytné.

Max_user_connections: Nastaví maximální počet povolených spojení s uživateli. To je velmi užitečné v systémech, kde se stejným MySQL server má přístup více uživatelů najednou.

Delayed_queue_size: počet řádků spolu s INSERT zpozdí. Bude méně podél linie, tím rychleji MySQL.

Sort_buffer_size: nastaví velikost bufferu přidělené na provádění ustanovení, ORDER BY a GROUP BY. Chcete-li dotazy, efektivnější je tento parametr nastaven na hodnotu vyšší než 2m.

Table_cache: určuje počet otevřených tabulek pro všechna vlákna, zvýšení této proměnné zvýší tabulek naložené současně a provedení MySql bude mnohem rychlejší. Pozor na tento parametr, operační systémy mají limit odkazy na soubory otevřeny najednou, když překročí tento limit může vzniknout v jakémkoli systému závadu.

Thread_cache_size: Nastaví počet závitů uchovávat v cache. Tato vlastnost umožňuje použití vláken velmi rychle.

Zobrazit STATUSU příkaz nám pomáhá sledovat v reálném čase ty proměnné, které více než jiné, které nám pomohou pochopit, co jsou nejvýznamnější vylepšení můžeme provést:

  • Handler_read_first: Udává, kolikrát se první záznam byl číst z tabulky. Jestliže se toto děje často, to znamená, že v tabulce nebyl indexováno správně.
  • Innodb_buffer_pool_wait_free: udává, kolikrát že MySQL má počkat na splachování stránek paměti. Pokud je návratová hodnota je vysoká, pak velikost bufferu bazén nebyl správně nakonfigurován pro výši zápisu, kterým prošlo server.
  • Key_reads: udává, kolikrát že MySQL přístupů k systému souborů pro databázové indexy. To zpomaluje rychlost provedení dotazu, takže pokud je tato hodnota vysoká pak to znamená, že klíčové pufru je příliš malé a je třeba zvýšit.
  • Max_used_connections: Označuje maximální počet připojení, která MySQL musela otevřít během posledního startu. Na jedné straně to představuje skutečný benchmark (pomáhá rozhodnout, maximální počet připojení k serveru, který může podporovat) a druhý je prezentován jako pohodlný provoz analyzátoru.
  • Open_tables: Označuje aktuální počet otevřených tabulek. Tato hodnota by měla být analyzována v kombinaci s cache velikosti stolu. Obvykle se velikost table_cache je třeba nastavit vyšší u této proměnné. Pokud je hodnota open_tables je mnohem nižší než table_cache se vyhnout problémům s výkonem, proto je také snížit velikost cache. Pokud je hodnota open_tables je velmi vysoká a blíží velikosti cache, pak ji zvýšit table_cache.
  • Select_full_join: Počet plnou připojit MySQL provedl, aby odpovídaly požadavkům klientů. A vysoká hodnota naznačuje, že místo pomocí indexů, MySQL byla nucena provést úplnou připojit. To naznačuje, že je třeba pro silnou index těchto tabulek.
  • Slow_queries: udává počet dotazů, které trvalo déle než obvykle, je třeba udělat. Vysoká hodnota by měla vést nás k analýze Pomalé Přihlásit dotazu zjistit, jaké jsou pomalé dotazu k optimalizaci.
  • Threads_connected: Označuje celkový počet klientů, kteří jsou připojeni k serveru v takové chvíli.
  • Created_tmp_disk_tables: udává počet dočasných tabulek, které byly vytvořeny na disku místo paměti. Vzhledem k tomu, že přístup do tabulek na disk je pomalejší než obvykle paměti, že obsah proměnné je úměrná rychlosti, s dotazy, které jsou spuštěny na příkaz CREATE dočasnou tabulku.
  • Uptime: Zobrazuje, kolik sekund se na servis.
Published in: mysql, tipy

Přidat komentář

Powered by CyberTek - Vzdálená pomoc