GNU/Linux >> Znalost Linux >  >> Linux

Vylepšete mezipaměť databáze MySQL

Varování

Kvůli problémům s měřítkem a dalšími rohovými případy se již nedoporučuje mezipaměť dotazů MySQL / Mariadb. Důrazně doporučujeme zajistit, aby se ukládání do mezipaměti zpracovávalo v aplikaci místo toho.

Přehled

Ve většině systémů Linux je instance databáze MySQL instalovaná ve výchozím nastavení často nakonfigurována na bezpečný rozsah parametrů, aby byl zajištěn stabilní provoz. Nastavení ukládání dotazů do mezipaměti obvykle není povoleno nebo je nastaveno velmi konzervativně. V důsledku tohoto konzervatismu využívá přístup k databázi málo systémové paměti pro ukládání opakovaných dotazů do mezipaměti. Povolením mezipaměti a jejím vyladěním podle potřeb aplikace lze viditelně vidět zlepšení ve většině aplikací, zejména v obchodech Magento eCommerce Stores.

Pro počáteční testování bylo jako výchozí bod rozhodnuto o velikosti mezipaměti 32M. Před jakýmikoli změnami se parametry mezipaměti databáze nacházejí v /etc/my.cnf byly nakonfigurovány jako:

query_cache_limit 1M
query_cache_size  0
query_cache_type  ON

Změna parametrů

Chcete-li provést změny, použijte soubor /etc/my.cnf byla upravena tak, aby zahrnovala následující parametry a databáze se restartovala. Po změnách databáze hlásí následující:

query_cache_limit 2M
query_cache_size  32M
query_cache_type  ON

Testování

Abychom otestovali naše změny, nejprve jsme nainstalovali obchod Magento eCommerce s nainstalovanou výchozí databází demo produktů. Načasovali jsme vyzvednutí každého produktu pomocí obléhání. Zvětšením velikosti mezipaměti v databázi se doba odezvy webu zkrátila o dalších 200 ms. Tato jednoduchá změna by naznačovala, že by mohlo existovat více prostoru pro zlepšení parametrů a rozvržení databázového subsystému, aby byl optimalizován speciálně pro použití Magento, s vědomím, že optimalizace pro Magento může být v nejlepším případě obtížný úkol!

Pasti!

Populární skript MySQLTuner (jak je podrobně popsán v našem průvodci laděním a optimalizací výkonu MySQL) byl spuštěn a naznačil, že změna počtu vláken by byla prospěšná, tato změna však vedla k poklesu výkonu. o 290 ms!

Závěr

Konfigurace databáze MySQL je po vybalení dobrá, ale mohla by být výrazně lepší. Navýšení mezipaměti poskytlo okamžitou prospěšnou reakci. Kromě vylepšení výkonu databáze existují také různé technologie mezipaměti, jako je Memecached a Redis, které zlepší výkon ukládáním často odkazovaných dat do mezipaměti.


Linux
  1. Základy uživatele a databáze MySQL

  2. zlepšit rychlost importu mysql

  3. MySql databáze z usb klíče

  1. Nejčastější dotazy k nasazení MySQL

  2. Optimalizujte databázi MySQL

  3. Jak zkopírovat databázi MySQL

  1. Jak vytvořit databázi v MySQL pomocí MySQL Workbench

  2. Vzdálené připojení k databázi MySQL

  3. Importujte databázi MySQL