Alle hævder at være hurtige – men vores faste er hurtigere! I løbet af de sidste par uger har vores team vært travlt med at benchmarke vores systemer på Azure, og resultaterne har været fantastiske.
Tidligere i år, før vi porterede vores eksisterende infrastruktur fra AWS til Azure, brugte vi meget tid på at forstå strukturen i Azure-skyen og optimere til den bedste ydeevne. Virkeligheden er, at Azure er ret forskellig fra AWS, og den præstationsstrategi, der fungerer på den ene sky, vil sandsynligvis ikke fungere på den anden. Vores udviklingsteam lavede en masse tilpasset arbejde med den diskarkitektur, som vi bruger i vores klynger – målet var at levere den bedste diskydeevne på Azure. For flere detaljer om vores tilbud henvises til vores MongoDB-hosting på Azure-side.
TL;DR
1. ScaleGrid-indsættelsesydelsen er mindst 30 % bedre end andre mongo-udbydere.
2. ScaleGrid giver konsekvent omkring 25 % bedre gennemløb for både balancerede (50 % læst, 50 % skrivning) og skrivetunge (95 % skriv, 5 % læst) arbejdsbelastninger.
Benchmarkingen blev udført ved hjælp af Yahoo Cloud Server Benchmark (YCSB) benchmarkværktøj. YCSB er et ret populært værktøj til at måle ydeevnen af MongoDB. MongoDB-teamet bruger også YCSB til at demonstrere ydeevneforbedringerne af MongoDB 3.0 i forhold til MongoDB 2.x. Nedenfor er resultaterne for vores 'Large'-konfiguration på Azure - 'Standard A3 - 7 GB hukommelse, 4 kerner, 8 disk RAID, op til 4000 IOPS'. Dette er en ret almindelig konfiguration, der bruges af produktionsklynger på Azure. Alle test blev udført i Azure US-East datacenter.
1. Indsæt ydeevne
Insert-ydelsestesten måler den rå indsatskapacitet for dine MongoDB-klynger. Dette er især vigtigt for klynger, der er vært for en skrivetung eller indsætte tung arbejdsbyrde. Testen blev kørt med 16 YCSB-tråde, og den gennemsnitlige køretid for testen var 2 timer:
Resumé:MongoDirector giver 30-40 % mere indsatsgennemløb end andre mongo-udbydere på Azure.
2. Gennemløb og latens
Gennemløbs- og latensmålinger blev foretaget både for balancerede (50 % læst, 50 % skriv) arbejdsbelastninger og også skrive tunge arbejdsbelastninger (95 % skriver, 5 % læst):
Resumé:ScaleGrid giver 20-25 % mere gennemløb til både læse- og skrivebelastninger, mens det konsekvent giver lavere latenstid.
Selvom vores resultater ser ret gode ud, er virkeligheden, at vi lige er begyndt på MongoDB på Azure. Premium-lagring og lokale SSD-muligheder på Azure vil forbedre dette benchmark yderligere. Hold dig opdateret, mens vi frigiver disse funktioner i produktion. Flere detaljer om metoden og de specifikke parametre vil blive givet af vores udviklingsteam i efterfølgende indlæg.
Hvis du har specifikke spørgsmål om ydeevnen af en bestemt størrelse eller MongoDB-klyngekonfiguration, bedes du kontakte os på [email protected].