Každý tvrdí, že je rychlý – ale náš půst je rychlejší! Během posledních několika týdnů byl náš tým zaneprázdněn srovnáváním našich systémů v Azure a výsledky byly fantastické.
Začátkem tohoto roku, než jsme přenesli naši stávající infrastrukturu z AWS do Azure, jsme strávili spoustu času pochopením struktury cloudu Azure a optimalizací pro nejlepší výkon. Realita je taková, že Azure je docela odlišný od AWS a strategie výkonu, která funguje na jednom cloudu, pravděpodobně nebude fungovat na druhém. Náš vývojový tým odvedl spoustu zakázkové práce na diskové architektuře, kterou používáme v našich clusterech – cílem bylo poskytnout nejlepší výkon disku v Azure. Další podrobnosti o naší nabídce najdete na našem hostingu MongoDB na stránce Azure.
TL;DR
1. Výkon vložek ScaleGrid je minimálně o 30 % lepší než u jiných poskytovatelů mongo.
2. ScaleGrid trvale poskytuje přibližně o 25 % lepší propustnost pro vyvážené (50 % čtení, 50 % zápis) i zápis těžké (95 % zápis, 5 % čtení).
Srovnání bylo provedeno pomocí nástroje pro srovnávání cloudových serverů Yahoo (YCSB). YCSB je poměrně populární nástroj pro měření výkonu MongoDB. Tým MongoDB také používá YCSB k demonstraci vylepšení výkonu MongoDB 3.0 oproti MongoDB 2.x. Níže jsou výsledky pro naši ‚velkou‘ konfiguraci v Azure – ‚Standardní A3 – 7 GB paměti, 4 jádra, 8 disků RAID, až 4000 IOPS‘. Toto je poměrně běžná konfigurace, kterou používají produkční clustery v Azure. Všechny testy byly provedeny v datovém centru Azure US-East.
1. Vložit výkon
Test výkonu vložení měří nezpracovanou kapacitu vložení vašich clusterů MongoDB. To je zvláště důležité pro clustery, které jsou hostiteli velké zátěže pro zápis nebo vkládání. Test byl spuštěn s 16 vlákny YCSB a průměrná doba běhu testu byla 2 hodiny:
Shrnutí:MongoDirector poskytuje o 30–40 % vyšší propustnost vložení než ostatní poskytovatelé mongo v Azure.
2. Propustnost a latence
Měření propustnosti a latence bylo provedeno jak pro vyvážené (50 % čtení, 50 % zápis) zátěže, tak pro velké zátěže zápisu (95 % zápis, 5 % čtení):
Shrnutí:ScaleGrid poskytuje o 20–25 % vyšší propustnost pro velké zatížení při čtení i zápisu a zároveň trvale poskytuje nižší latenci.
I když naše výsledky vypadají docela dobře, realita je taková, že s MongoDB v Azure teprve začínáme. Prémiové úložiště a možnosti místního SSD v Azure tento benchmark ještě vylepší. Sledujte, jak tyto funkce uvolňujeme do produkce. Více podrobností o metodice a konkrétních parametrech poskytne náš vývojový tým v následujících příspěvcích.
Pokud máte konkrétní dotazy ohledně výkonu konkrétní velikosti nebo konfigurace clusteru MongoDB, kontaktujte nás na adrese [email protected].