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

Problémy s výkonem při spuštění databáze v kontejneru dockeru

Docker sám o sobě vyžaduje velmi malou režii, pouze izoluje proces od ostatních procesů na hostiteli. Existuje však mnoho věcí, které můžete udělat pro snížení výkonu kontejneru:

  1. Spouštějte jej ve Windows/MacOS a poskytněte vestavěnému virtuálnímu počítači pouze zlomek paměti/CPU nadřazeného OS.
  2. Omezte zdroje CPU nebo paměti uvnitř kontejneru.
  3. Spusťte na svém hostiteli spoustu kontejnerů. Docker není kouzlo, pokud 10 instancí Javy, z nichž každá používá 2 giga paměti ram, přivede hostitele k procházení mimo kontejner, nepoběží lépe v kontejnerech.
  4. Síťové komplikace. Každý kontejner je ve výchozím nastavení spuštěn na izolovaném síťovém mostě, kde IO může s dalšími skoky trvat o něco déle. A pokud váš DNS není správně nakonfigurován, můžete zaznamenat další zpoždění při neúspěšných vyhledáváních.
  5. Požadavky na holé kovy, jako je přímý přístup k disku, nejsou ve výchozím nastavení v Dockeru povoleny. Můžete poskytnout přístup ke konkrétním zařízením, ale jinak je kontejnerová verze aplikace záměrně izolovaná.
  6. Data ve svazcích mohou být uložena na méně efektivním místě. Ve výchozím nastavení je to váš souborový systém /var/lib/docker, ale můžete to snadno nasměrovat na připojení NFS, kde by byl výkon ještě horší.
  7. Špatně nakonfigurovaná databáze, např. zapomenete vytvořit index.

Stručně řečeno, kontejner pravděpodobně nebude problémem samotným, ale ujistěte se, že porovnáváte jablka s jablky.



  1. Prozkoumání možností čekání na zámek s nízkou prioritou v SQL Server 2014 CTP1

  2. Rozdíl ve výkonu:podmínka umístěná v klauzuli INNER JOIN vs. WHERE

  3. Termín syntaxe SQL pro 'WHERE (sloupec1, sloupec2) <(hodnota1, hodnota2)'

  4. Instalace Postgis:geometrie typu neexistuje