Alla påstår sig vara snabba – men vår fasta är snabbare! Under de senaste veckorna har vårt team varit upptagna med att benchmarka våra system på Azure och resultaten har varit fantastiska.
Tidigare i år innan vi porterade vår befintliga infrastruktur från AWS till Azure, spenderade vi mycket tid på att förstå strukturen i Azure-molnet och optimera för bästa prestanda. Verkligheten är att Azure skiljer sig ganska mycket från AWS och prestandastrategin som fungerar på ett moln kommer förmodligen inte att fungera på det andra. Vårt utvecklingsteam gjorde mycket anpassat arbete med diskarkitekturen som vi använder i våra kluster – målet var att ge bästa diskprestanda på Azure. För mer information om våra erbjudanden, se vår MongoDB-värd på Azure-sidan.
TL;DR
1. ScaleGrid insättningsprestanda är minst 30 % bättre än andra mongoleverantörer.
2. ScaleGrid ger konsekvent cirka 25 % bättre genomströmning för både balanserade (50 % läs, 50 % skriv) och skrivtunga (95 % skriv, 5 % läs) arbetsbelastningar.
Benchmarkingen utfördes med hjälp av Yahoos benchmarkverktyg för molnserver (YCSB). YCSB är ett ganska populärt verktyg för att mäta prestanda hos MongoDB. MongoDB-teamet använder också YCSB för att demonstrera prestandaförbättringarna hos MongoDB 3.0 jämfört med MongoDB 2.x. Nedan är resultaten för vår "Large"-konfiguration på Azure - "Standard A3 - 7 GB minne, 4 kärnor, 8 disk RAID, upp till 4000 IOPS". Detta är en ganska vanlig konfiguration som används av produktionskluster på Azure. Alla tester utfördes i Azure US-East datacenter.
1. Infoga prestanda
Insert-prestandatestet mäter den råa insertkapaciteten för dina MongoDB-kluster. Detta är särskilt viktigt för kluster som är värd för en skrivtung eller hög arbetsbelastning. Testet kördes med 16 YCSB-trådar och den genomsnittliga körtiden för testet var 2 timmar:
Sammanfattning:MongoDirector ger 30–40 % mer insättningsgenomströmning än andra mongo-leverantörer på Azure.
2. Genomströmning och fördröjning
Genomströmnings- och latensmätningar gjordes både för balanserade (50 % läs, 50 % skriv) arbetsbelastningar och även skrivtunga arbetsbelastningar (95 % skriv, 5 % läs):
Sammanfattning:ScaleGrid ger 20-25 % mer genomströmning för både läs- och skrivtunga arbetsbelastningar samtidigt som det konsekvent ger lägre latens.
Även om våra resultat ser ganska bra ut, är verkligheten att vi precis har börjat med MongoDB på Azure. Premiumlagring och lokala SSD-alternativ på Azure kommer att förbättra detta riktmärke ytterligare. Håll ögonen öppna när vi släpper dessa funktioner i produktion. Mer information om metodiken och de specifika parametrarna kommer att tillhandahållas av vårt utvecklingsteam i efterföljande inlägg.
Om du har specifika frågor om prestandan för en viss storlek eller MongoDB-klusterkonfiguration, kontakta oss på [email protected].