sql >> Databáze >  >> NoSQL >> MongoDB

Sledování využití paměti MongoDB

Porozumění využití paměti MongoDB je zásadní pro dobrý zážitek z hostování MongoDB. Chcete-li dosáhnout nejlepšího výkonu, je nutné mít pracovní sadu uloženou v paměti. Viděl jsem několik návrhů, že pokud používáte disky SSD (Solid State Drive), paměť je méně důležitá. Přístupová doba dynamické paměti s náhodným přístupem (DRAM) je v řádu nanosekund, přístupová doba SSD je v řádu mikrosekund a doba přístupu k pevnému disku je v řádu milisekund – takže SSD mají stále co dohánět. s pamětí.

MongoDB používá soubory mapované v paměti (MMF) k mapování databáze do paměti. Data jsou na disk pravidelně vyplachována (mechanismus je samozřejmě mnohem složitější, ale to je téma na jiný příspěvek).

Jakmile bude váš server MongoDB spuštěn a spuštěn, je důležité sledovat a porozumět využití paměti. Chcete-li monitorovat naše servery MongoDB, můžete pomocí monitorovací konzoly ScaleGrid MongoDB zobrazit podrobné metriky svého výkonu. Spusťte několik ukázkových úloh a stanovte základní linii, abyste pochopili, kdy něco nefunguje normálně. Zde jsou čtyři důležitá počítadla, která vám pomohou sledovat využití paměti MongoDB:

  1. Paměť

    Toto jsou ve skutečnosti tři čítače v jednom grafu:

    1. Rezidentní paměť

      Toto je skutečné množství fyzické paměti využívané procesem MongoDB.

    2. Mapovaná paměť

      Toto je množství virtuální paměti použité postupem MongoDB k mapování vaší databáze do paměti. Obvykle to bude velikost vaší databáze.

    3. Virtuální paměť

      To zahrnuje virtuální paměť pro celý proces MongoDB. Pokud máte zapnuté žurnálování, bude to obvykle dvojnásobná velikost vaší namapované paměti.

  2. Nemapovaná virtuální paměť

    Toto je množství virtuální paměti použité pro účetní data, nikoli pro mapování datových souborů. Každé připojení například spotřebuje určité množství paměti. Obvykle by tento čítač měl být poměrně nízký – obvykle méně než 1 GB.

  3. Chyby stránky

    Toto je počet chyb tvrdé stránky za sekundu. Zjevně chcete, aby toto číslo bylo co nejnižší.

    • Chyba tvrdé stránky

      To se spustí, když se daná stránka nenachází ve fyzické paměti a je třeba ji načíst z disku.

    • Chyba měkké stránky

      K tomu dochází, když je stránka umístěna někde jinde v paměti nebo je v přechodném stavu.

  4. Strom B (Index Miss)

    Vynechání indexu je dvakrát neefektivní, protože způsobí dvě čtení disku, jedno pro čtení položky rejstříku a druhé pro čtení dokumentu. Čítač B-stromu sleduje počet vynechání indexu. Toto je další místo, kde si budete chtít vytvořit základní linii, abyste viděli jakékoli neobvyklé vzory. Pomocí příkazu .explain() zkontrolujte plány dotazů pro vaše běžné dotazy.

Dalším důležitým aspektem správy paměti v MongoDB je porozumět své ‚pracovní sadě‘. V našem dalším příspěvku prozkoumáme, jak určit pracovní sadu pro vaši databázi.


  1. Průvodce nasazením a údržbou MongoDB pomocí loutky:Část 2

  2. Připojení MongoDb bylo odmítnuto

  3. Vytvořte vícejazyčný textový index v MongoDB

  4. Mac(os x):Existuje způsob, jak nainstalovat POUZE redis-cli?