Всички твърдят, че са бързи – но нашият пост е по-бърз! През последните няколко седмици екипът ни е зает да извършва сравнителен анализ на системите ни в Azure и резултатите са фантастични.
По-рано тази година, преди да пренесем съществуващата си инфраструктура от AWS към Azure, прекарахме много време в разбиране на структурата на облака на Azure и оптимизиране за най-добра производителност. Реалността е, че Azure е доста различен от AWS и стратегията за производителност, която работи в единия облак, вероятно няма да работи в другия. Нашият екип за разработчици свърши много персонализирана работа върху дисковата архитектура, която използваме в нашите клъстери – целта беше да осигурим най-добрата производителност на диска в Azure. За повече подробности относно нашите предложения вижте нашия MongoDB хостинг на страницата Azure.
TL;DR
1. Производителността на вмъкване в ScaleGrid е поне с 30% по-добра от другите доставчици на монго.
2. ScaleGrid постоянно осигурява около 25% по-добра пропускателна способност както за балансирани (50% четене, 50% запис), така и за тежки (95% запис, 5% четене) работни натоварвания.
Сравнителният анализ беше извършен с помощта на инструмента за сравнителен анализ на облачния сървър на Yahoo (YCSB). YCSB е доста популярен инструмент за измерване на производителността на MongoDB. Екипът на MongoDB също използва YCSB, за да демонстрира подобренията в производителността на MongoDB 3.0 спрямо MongoDB 2.x. По-долу са резултатите за нашата „Голяма“ конфигурация на Azure – „Стандартен A3 – 7GB памет, 4 ядра, 8 дисков RAID, до 4000 IOPS“. Това е доста често срещана конфигурация, използвана от производствените клъстери в Azure. Всички тестове бяха извършени в центъра за данни на Azure US-East.
1. Вмъкване на изпълнение
Тестът за производителност на вмъкване измерва необработения капацитет за вмъкване на вашите MongoDB клъстери. Това е особено важно за клъстери, които хостват тежко натоварване при запис или вмъкване. Тестът беше проведен с 16 YCSB нишки и средното време на изпълнение на теста беше 2 часа:
Резюме:MongoDirector осигурява 30-40% повече пропускателна способност за вмъкване в сравнение с други доставчици на mongo в Azure.
2. Пропускателна способност и латентност
Измерванията на пропускателната способност и латентността бяха направени както за балансирани (50% четене, 50% запис) работни натоварвания, така и за тежки натоварвания при запис (95% запис, 5% четене):
Резюме:ScaleGrid осигурява 20-25% повече пропускателна способност за тежки натоварвания както за четене, така и за запис, като същевременно осигурява по-ниска латентност.
Въпреки че резултатите ни изглеждат доста добри, реалността е, че тепърва започваме с MongoDB на Azure. Опциите за премиум съхранение и локални SSD на Azure ще подобрят този показател още повече. Останете на линия докато пускаме тези функции в производството. Повече подробности за методологията и специфичните параметри ще бъдат предоставени от нашия екип за разработка в следващите публикации.
Ако имате конкретни въпроси относно производителността на конкретен размер или конфигурация на клъстер MongoDB, моля, свържете се с нас на [email protected].